Function at 0x425580
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x100
push eax
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x7c], esp
push eax
sub esp, 0xffc
mov eax, esp
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x8c], eax
push eax
mov dword [ebp - 0xfc], esp
push eax
mov dword [ebp - 0x80], esp
sub esp, 0xa4
mov eax, esp
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xb8], eax
sub esp, 0xa8
mov eax, esp
mov dword [ebp - 0x74], eax
mov dword [ebp - 0xf4], eax
sub esp, 0xe8
mov eax, esp
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb4], eax
sub esp, 0xe8
mov eax, esp
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xf0], eax
sub esp, 0xa4
mov eax, esp
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xb0], eax
sub esp, 0xa4
mov eax, esp
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xec], eax
sub esp, 0xa4
mov dword [ebp - 0x78], esp
sub esp, 0xa8
mov dword [ebp - 0x98], esp
sub esp, 0xa4
mov dword [ebp - 0x94], esp
sub esp, 0xa4
mov dword [ebp - 0x90], esp
sub esp, 0x14
mov dword [ebp - 0xc0], esp
sub esp, 0x200
mov dword [ebp - 0x84], esp
sub esp, 0x14
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x88], esp
push eax
sub esp, 0x7fc
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0xc8], esp
push eax
mov dword [ebp - 0x34], esp
sub esp, 0x400
mov dword [ebp - 0x20], esp
push eax
mov dword [ebp - 0x28], esp
sub esp, 0x14
mov ebx, esp
sub esp, 0x18
mov dword [ebp - 0x2c], esp
sub esp, 0x28
mov edi, esp
mov dword [ebp - 0x6c], 0xe93ceb38
mov dword [ebp - 0x68], 0xed27ef23
mov dword [ebp - 0x64], 0xf127f323
mov dword [ebp - 0x60], 0xf520f724
mov dword [ebp - 0x5c], 0xf926fb2b
mov dword [ebp - 0x58], 0xfd2bff23
mov dword [ebp - 0x54], 0x81548337
mov word [ebp - 0x50], 0x8780
mov dword [ebp - 0x4e], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x21
ja 0x424578
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x6c]
mov edx, ecx
xor edx, 0x3e4f14a7
mov esi, ecx
xor esi, 0x41b0eb58
or ecx, 0x3e4f14a7
and ecx, esi
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
not ecx
and ecx, 0x43
and eax, 0xbc
sub eax, ecx
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0x6c], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x22
jb 0x424520
lea eax, [ebp - 0x70]
lea ecx, [ebp - 0x6c]
push 0
push 0
push 0x20019
push eax
push ecx
call fcn.00443130
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x449c18]
mov dword [ebp - 0x1c], ebx
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x7c]
jmp dword [0x449c24]
push 0
push 0
push 0
push 0
push ebx
push esi
push 0
push 0
push dword [ebp - 0x70]
call fcn.004435a0
add esp, 0x24
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push 0
push 0
push 0
push ebx
push esi
push 0
push 0
push dword [ebp - 0x70]
call fcn.004435a0
add esp, 0x24
jmp dword [0x449c2c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449c30]
jmp dword [0x449c40]
xor ebx, ebx
jmp 0x425d77
mov ecx, ebx
mov eax, dword [ebp - 0x74]
lea edx, [eax + 0xa0]
mov dword [ebp - 0xe8], edx
add dword [ebp - 0xac], 0xa0
add dword [ebp - 0xa4], 0xe4
add dword [ebp - 0xa8], 0xe4
add dword [ebp - 0x9c], 0xa0
add dword [ebp - 0xa0], 0xa0
mov edx, dword [ebp - 0x78]
add edx, 0xa0
mov dword [ebp - 0xe4], edx
mov edx, dword [ebp - 0x90]
add edx, 0xa0
mov dword [ebp - 0xe0], edx
mov edx, dword [ebp - 0x94]
add edx, 0xa0
mov dword [ebp - 0xdc], edx
add eax, 0xa2
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x98]
mov eax, edx
add eax, 0xa2
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x2c]
add eax, 0x12
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x100], eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x40], 0
cmp ebx, dword [esi]
setb al
add edx, 0xa0
mov dword [ebp - 0xd4], edx
xor ebx, ebx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0xcc], edi
jmp dword [eax*4 + 0x449c48]
inc ebx
xor eax, eax
cmp ebx, dword [esi]
setb al
mov ecx, dword [ebp - 0x7c]
jmp dword [eax*4 + 0x449c48]
mov esi, dword [ecx]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x424712
mov eax, 0xffffffff
push eax
call fcn.0040c770
add esp, 4
mov ecx, dword [ebp - 0xfc]
mov dword [ecx], esi
push ecx
mov dword [ebp - 0xbc], eax
push eax
push ebx
push dword [ebp - 0x70]
call fcn.00443280
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449c58]
mov esi, dword [ebp - 0x3c]
jmp dword [0x449d18]
mov esi, dword [ebp - 0x3c]
push dword [ebp - 0x70]
push 0
push 0x20019
push dword [ebp - 0x80]
push dword [ebp - 0xbc]
call fcn.00443130
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449c60]
jmp dword [0x449d18]
mov esi, dword [ebp - 0xf4]
mov dword [esi], 0x23bb215d
mov dword [esi + 4], 0x27b42547
mov dword [esi + 8], 0x5bc959c7
mov dword [esi + 0xc], 0x5f385dc3
mov dword [esi + 0x10], 0x533e51c4
mov dword [esi + 0x14], 0x57cf5523
mov dword [esi + 0x18], 0x4b2e49d6
mov dword [esi + 0x1c], 0x4fd94dd3
mov dword [esi + 0x20], 0x436241d3
mov dword [esi + 0x24], 0x47234539
mov dword [esi + 0x28], 0x7be979eb
mov dword [esi + 0x2c], 0x7f197d1d
mov dword [esi + 0x30], 0x73ec71e9
mov dword [esi + 0x34], 0x77567513
mov dword [esi + 0x38], 0x6bff691b
mov dword [esi + 0x3c], 0x6ffd6d0e
mov dword [esi + 0x40], 0x63f161e9
mov dword [esi + 0x44], 0x670365f0
mov dword [esi + 0x48], 0x9bf69905
mov dword [esi + 0x4c], 0x9f0c9dec
mov dword [esi + 0x50], 0x93f4910f
mov dword [esi + 0x54], 0x970a950d
mov dword [esi + 0x58], 0x8b1989ed
mov dword [esi + 0x5c], 0x8fc78de0
mov dword [esi + 0x60], 0x83d581d3
mov dword [esi + 0x64], 0x87c585d1
mov dword [esi + 0x68], 0xbbfcb9fe
mov dword [esi + 0x6c], 0xbfeabdec
mov dword [esi + 0x70], 0xb3e1b1e1
mov dword [esi + 0x74], 0xb7e7b5e5
mov dword [esi + 0x78], 0xabcea9f9
mov dword [esi + 0x7c], 0xafecadff
mov dword [esi + 0x80], 0xa3eaa1e8
mov dword [esi + 0x84], 0xa7f6a5e5
mov dword [esi + 0x88], 0xdb8bd988
mov dword [esi + 0x8c], 0xdf8add8c
mov dword [esi + 0x90], 0xd380d192
mov dword [esi + 0x94], 0xd780d595
mov dword [esi + 0x98], 0xcb9dc99e
mov dword [esi + 0x9c], 0xcfa2cd9a
mov word [esi + 0xa0], 0xc1c0
mov eax, dword [ebp - 0x74]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xa4
ja 0x424917
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
mov edx, eax
xor edx, 0xea837138
and eax, 0xea837138
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
add al, 0xe8
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xa5
jb 0x4248e0
mov eax, esi
mov edi, dword [ebp - 0xb8]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xac]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0xf0]
mov dword [esi], 0xc1adc7b3
mov dword [esi + 4], 0xcd50c3ad
mov dword [esi + 8], 0xc953cf5d
mov dword [esi + 0xc], 0xf5a4cb59
mov dword [esi + 0x10], 0xf192f768
mov dword [esi + 0x14], 0xfd99f389
mov dword [esi + 0x18], 0xf992ff6a
mov dword [esi + 0x1c], 0xe563fb69
mov dword [esi + 0x20], 0xe1c6e779
mov dword [esi + 0x24], 0xed9ee396
mov dword [esi + 0x28], 0xe9a3ef88
mov dword [esi + 0x2c], 0x1578eb77
mov dword [esi + 0x30], 0x11791786
mov dword [esi + 0x34], 0x1d8e1386
mov dword [esi + 0x38], 0x19711f62
mov dword [esi + 0x3c], 0x5871b8a
mov dword [esi + 0x40], 0x197076f
mov dword [esi + 0x44], 0xd660396
mov dword [esi + 0x48], 0x9650f75
mov dword [esi + 0x4c], 0x35660b9e
mov dword [esi + 0x50], 0x31af37a5
mov dword [esi + 0x54], 0x3d1233ad
mov dword [esi + 0x58], 0x39513f4b
mov dword [esi + 0x5c], 0x25a73ba5
mov dword [esi + 0x60], 0x214f2747
mov dword [esi + 0x64], 0x2db4234b
mov dword [esi + 0x68], 0x290e2f45
mov dword [esi + 0x6c], 0x55b52b55
mov dword [esi + 0x70], 0x51cb5736
mov dword [esi + 0x74], 0x5dcf53cb
mov dword [esi + 0x78], 0x59315fc0
mov dword [esi + 0x7c], 0x453e5bcf
mov dword [esi + 0x80], 0x41d44734
mov dword [esi + 0x84], 0x4d2c43d1
mov dword [esi + 0x88], 0x49da4f27
mov dword [esi + 0x8c], 0x75d74b27
mov dword [esi + 0x90], 0x71077710
mov dword [esi + 0x94], 0x7dee73ef
mov dword [esi + 0x98], 0x79ef7fe8
mov dword [esi + 0x9c], 0x65ef7be9
mov dword [esi + 0xa0], 0x613d6700
mov dword [esi + 0xa4], 0x6d3b633d
mov dword [esi + 0xa8], 0x69236f33
mov dword [esi + 0xac], 0x95246b26
mov dword [esi + 0xb0], 0x91ca97c4
mov dword [esi + 0xb4], 0x9dcf93c3
mov dword [esi + 0xb8], 0x99cd9fcf
mov dword [esi + 0xbc], 0x85f69bcb
mov dword [esi + 0xc0], 0x81c487d9
mov dword [esi + 0xc4], 0x8dda83d8
mov dword [esi + 0xc8], 0x89de8fcf
mov dword [esi + 0xcc], 0xb5d98bd8
mov dword [esi + 0xd0], 0xb1eab7e4
mov dword [esi + 0xd4], 0xbde0b3f2
mov dword [esi + 0xd8], 0xb9e0bfff
mov dword [esi + 0xdc], 0xa5e3bbe6
mov dword [esi + 0xe0], 0xa1c2a7fa
mov dword [esi + 0xe4], 0xa3a0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xe7
ja 0x424b77
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
mov edx, eax
xor edx, 0x41073dd1
and eax, 0xc1073dd1
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
add al, 0xeb
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xe8
jb 0x424b40
mov eax, esi
mov edi, dword [ebp - 0xb4]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xa8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0xec]
mov dword [esi], 0xb1658f43
mov dword [esi + 4], 0xb520b355
mov dword [esi + 8], 0xb923b725
mov dword [esi + 0xc], 0xbd5cbb29
mov dword [esi + 0x10], 0xa142bf28
mov dword [esi + 0x14], 0xa544a351
mov dword [esi + 0x18], 0xa94da742
mov dword [esi + 0x1c], 0xad4dab4d
mov dword [esi + 0x20], 0x517daf50
mov dword [esi + 0x24], 0x557c5385
mov dword [esi + 0x28], 0x59aa5784
mov dword [esi + 0x2c], 0x5dcd5ba9
mov dword [esi + 0x30], 0x41b25fc8
mov dword [esi + 0x34], 0x45d343d1
mov dword [esi + 0x38], 0x49ba47a9
mov dword [esi + 0x3c], 0x4dd84bb8
mov dword [esi + 0x40], 0x71a84fdd
mov dword [esi + 0x44], 0x759e739b
mov dword [esi + 0x48], 0x79e37793
mov dword [esi + 0x4c], 0x7d8b7b84
mov dword [esi + 0x50], 0x61ea7feb
mov dword [esi + 0x54], 0x65f3638c
mov dword [esi + 0x58], 0x698b67f5
mov dword [esi + 0x5c], 0x6db16b94
mov dword [esi + 0x60], 0x11b76fb9
mov dword [esi + 0x64], 0x15d713c7
mov dword [esi + 0x68], 0x19d017d2
mov dword [esi + 0x6c], 0x1dce1bc8
mov dword [esi + 0x70], 0x1cb1fcf
mov dword [esi + 0x74], 0x5d103d3
mov dword [esi + 0x78], 0x9e207d7
mov dword [esi + 0x7c], 0xdc80bdd
mov dword [esi + 0x80], 0x31d60fd4
mov dword [esi + 0x84], 0x35e233f3
mov dword [esi + 0x88], 0x39e537e4
mov dword [esi + 0x8c], 0x3dee3be8
mov dword [esi + 0x90], 0x21ec3ffe
mov dword [esi + 0x94], 0x25f423e3
mov dword [esi + 0x98], 0x29ff27f2
mov dword [esi + 0x9c], 0x2dd62bfe
mov dword [esi + 0xa0], 0x2f2c
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xa3
ja 0x424d27
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
mov edx, eax
xor edx, 0x9b614fdd
and eax, 0x1b614fdd
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
add al, 0xaf
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xa4
jb 0x424cf0
mov eax, esi
mov edi, dword [ebp - 0xb0]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [ebp - 0x9c]
mov ecx, 1
mov edi, dword [ebp - 0xa0]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x98]
mov dword [esi], 0x8f3789d5
mov dword [esi + 4], 0x83348d2b
mov dword [esi + 8], 0x87318133
mov dword [esi + 0xc], 0x9b208537
mov dword [esi + 0x10], 0x9f32992c
mov dword [esi + 0x14], 0x93289dcf
mov dword [esi + 0x18], 0x972f912a
mov dword [esi + 0x1c], 0xeb4f9533
mov dword [esi + 0x20], 0xef9fe944
mov dword [esi + 0x24], 0xe390ed98
mov dword [esi + 0x28], 0xe74ae190
mov dword [esi + 0x2c], 0xfb4fe5b7
mov dword [esi + 0x30], 0xff42f94c
mov dword [esi + 0x34], 0xf341fd4f
mov dword [esi + 0x38], 0xf75af14f
mov dword [esi + 0x3c], 0xcb7cf5a4
mov dword [esi + 0x40], 0xcf74c97b
mov dword [esi + 0x44], 0xc37ecd75
mov dword [esi + 0x48], 0xc771c165
mov dword [esi + 0x4c], 0xdb89c568
mov dword [esi + 0x50], 0xdf6ad96d
mov dword [esi + 0x54], 0xd361dd60
mov dword [esi + 0x58], 0xd769d163
mov dword [esi + 0x5c], 0x2b63d578
mov dword [esi + 0x60], 0x2f65295f
mov dword [esi + 0x64], 0x23652d59
mov dword [esi + 0x68], 0x277c217a
mov dword [esi + 0x6c], 0x3b4e2554
mov dword [esi + 0x70], 0x3f493949
mov dword [esi + 0x74], 0x33433d4d
mov dword [esi + 0x78], 0x37923141
mov dword [esi + 0x7c], 0xb4c3543
mov dword [esi + 0x80], 0xf460940
mov dword [esi + 0x84], 0x3720d4d
mov dword [esi + 0x88], 0x7770170
mov dword [esi + 0x8c], 0x1b6e0574
mov dword [esi + 0x90], 0x1f68195e
mov dword [esi + 0x94], 0x13581d5d
mov dword [esi + 0x98], 0x175d115a
mov dword [esi + 0x9c], 0x6bc6155e
mov word [esi + 0xa0], 0x6968
mov eax, dword [ebp - 0xd8]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xa6
ja 0x424ef2
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
movzx eax, byte [esi + eax]
mov edx, ecx
xor edx, 0x53136322
and ecx, 0xd3136322
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
add al, 0x56
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xa7
jb 0x424eb0
mov dword [ebp - 0xf8], ebx
mov eax, esi
mov edi, dword [ebp - 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [ebp - 0xd4]
mov ecx, 1
mov edi, dword [ebp - 0xe4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x90]
mov dword [esi], 0x9f779955
mov dword [esi + 4], 0xa3549d7b
mov dword [esi + 8], 0xa751a153
mov dword [esi + 0xc], 0xab40a557
mov dword [esi + 0x10], 0xaf72a95c
mov dword [esi + 0x14], 0xb358ad7f
mov dword [esi + 0x18], 0xb75fb15a
mov dword [esi + 0x1c], 0xbb5fb553
mov dword [esi + 0x20], 0xbf8fb964
mov dword [esi + 0x24], 0x4370bd89
mov dword [esi + 0x28], 0x479a4170
mov dword [esi + 0x2c], 0x4bbf4597
mov dword [esi + 0x30], 0x4fa249bc
mov dword [esi + 0x34], 0x53a14dbf
mov dword [esi + 0x38], 0x578a51bf
mov dword [esi + 0x3c], 0x5bac5584
mov dword [esi + 0x40], 0x5fb459ab
mov dword [esi + 0x44], 0x638e5db5
mov dword [esi + 0x48], 0x67916185
mov dword [esi + 0x4c], 0x6bb965b8
mov dword [esi + 0x50], 0x6f9a699d
mov dword [esi + 0x54], 0x73816d80
mov dword [esi + 0x58], 0x77997183
mov dword [esi + 0x5c], 0x7b4375a8
mov dword [esi + 0x60], 0x7f45794f
mov dword [esi + 0x64], 0x3c57d49
mov dword [esi + 0x68], 0x7cc01ca
mov dword [esi + 0x6c], 0xb3e0534
mov dword [esi + 0x70], 0xf390939
mov dword [esi + 0x74], 0x13230d3d
mov dword [esi + 0x78], 0x17f21121
mov dword [esi + 0x7c], 0x1bdc1523
mov dword [esi + 0x80], 0x1f261920
mov dword [esi + 0x84], 0x23121ddd
mov dword [esi + 0x88], 0x27172110
mov dword [esi + 0x8c], 0x2b1e2514
mov dword [esi + 0x90], 0x2f1829ee
mov dword [esi + 0x94], 0x33082ded
mov dword [esi + 0x98], 0x370d310a
mov dword [esi + 0x9c], 0x3be6350e
mov dword [esi + 0xa0], 0x3938
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xa3
ja 0x4250a7
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
mov edx, eax
xor edx, 0x51fd65a
and eax, 0x51fd65a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
add al, 0x3e
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xa4
jb 0x425070
mov eax, esi
mov edx, dword [ebp - 0x94]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xdc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xb4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x78]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], edx
xor edx, edx
xor eax, eax
cmp edx, 0x14
setne al
mov ecx, dword [ebp - 0x30]
jmp dword [eax*4 + 0x449c68]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x104], edx
mov eax, dword [eax + edx]
mov dword [ecx], 0x914e9f4c
mov dword [ecx + 4], 0x95429340
mov dword [ecx + 8], 0x89469744
mov dword [ecx + 0xc], 0x8d228b58
mov dword [ecx + 0x10], 0x8f8c
mov dword [ebp - 0x10], 0
mov ebx, ecx
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x13
ja 0x4251a1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
mov esi, ecx
xor esi, 0x6ec75165
mov edi, ecx
xor edi, 0x1138ae9a
or ecx, 0x6ec75165
and ecx, edi
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x6c]
add cl, 7
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x14
jb 0x425160
movzx ecx, word [eax]
mov edx, dword [ebp - 0x84]
test cx, cx
je 0x4251d1
add eax, 2
mov edx, dword [ebp - 0x84]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x4251c0
mov word [edx], 0
mov eax, dword [ebp - 0x30]
movzx eax, word [eax]
test ax, ax
mov ebx, dword [ebp - 0x1c]
je 0x425201
mov ecx, dword [ebp - 0x100]
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4251f0
mov word [edx], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xc4], edx
jmp dword [eax*4 + 0x449c80]
cmp dword [esi + edx*8], 0x625b6034
je 0x425240
inc edx
cmp eax, edx
jne 0x425230
jmp case.0x425106.37
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je case.0x425106.37
push dword [ebp - 0x24]
push 1
push dword [0x44e4b4]
push eax
call fcn.0043f3f0
add esp, 0x10
nop
nop
nop
nop
mov dword [ebp - 0x6c], 0x7c7d7a7b
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 4
ja 0x4252c2
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x6c]
mov edx, ecx
xor edx, 0xd47f60ea
and ecx, 0xd47f60ea
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0x6e
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0x6c], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 5
jb 0x425280
mov eax, dword [0x44e4ac]
test eax, eax
je 0x425300
mov ecx, dword [ebp - 0x6c]
xor edx, edx
mov esi, dword [0x44e4b0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x625b6034
je 0x4252f0
inc edx
cmp eax, edx
jne 0x4252e0
jmp 0x425300
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne 0x425322
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x449d00]
mov eax, dword [case.0x425106.42]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0xc4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push dword [ebp - 0x24]
push 1
push dword [0x44e4b4]
push eax
call fcn.0043f3f0
add esp, 0x10
jmp dword [0x449d00]
mov dword [ebp - 0x6c], 0x7c7d7a7b
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 4
ja 0x4253a2
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x6c]
mov edx, ecx
xor edx, 0xd47f60ea
and ecx, 0xd47f60ea
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0x6e
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0x6c], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 5
jb 0x425360
mov eax, dword [0x44e4ac]
test eax, eax
je case.0x425106.37
mov ecx, dword [ebp - 0x6c]
xor edx, edx
mov esi, dword [0x44e4b0]
jmp 0x425230
mov word [edx - 2], di
mov eax, dword [ebp - 0x80]
push dword [eax]
push 0
push 0x20019
push dword [ebp - 0x88]
push dword [ebp - 0x84]
call fcn.00443130
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449c88]
mov dword [ebp - 0x108], edi
mov eax, dword [ebp - 0xc8]
mov dword [eax], 0x800
mov eax, dword [ebp - 0x28]
mov dword [eax], 0x400
xor edx, edx
mov dword [ebp - 0x44], 0
jmp 0x425424
mov edx, dword [ebp - 0x48]
inc edx
mov ecx, dword [ebp - 0x34]
push dword [ebp - 0x28]
push dword [ebp - 0x20]
push ecx
push dword [ebp - 0xc8]
push dword [ebp - 0x38]
mov dword [ebp - 0x48], edx
push edx
mov eax, dword [ebp - 0x88]
push dword [eax]
mov esi, ecx
call fcn.004438b0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449c90]
test byte [ebp - 0x44], 1
sete al
cmp dword [esi], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x449c98]
mov ecx, esi
xor eax, eax
cmp dword [esi], 3
sete al
jmp dword [eax*4 + 0x449cb8]
mov dword [ebx], 0x3e101c1
mov dword [ebx + 4], 0x7e905e7
mov dword [ebx + 8], 0xbe409fd
mov dword [ebx + 0xc], 0xf0e0df8
mov word [ebx + 0x10], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x11
ja 0x42551a
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
mov edx, eax
xor edx, 0xbe9e6a40
add eax, eax
and eax, 0x7d3cd480
mov esi, eax
and esi, edx
xor eax, edx
lea edx, [eax + ecx]
lea edx, [edx + esi*2]
and eax, ecx
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov ecx, eax
not ecx
and ecx, 0x40
and eax, 0xbf
sub eax, ecx
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x12
jb 0x4254c0
movzx edi, word [ebx]
mov eax, dword [ebp - 0x38]
test di, di
je 0x425556
mov ecx, ebx
mov eax, dword [ebp - 0x38]
mov edx, eax
jmp 0x42553f
add eax, 2
mov edx, eax
mov ecx, ebx
movzx edi, word [ecx]
test di, di
je 0x425556
movzx esi, word [edx]
test si, si
je 0x425554
cmp si, di
jne 0x425530
add edx, 2
add ecx, 2
jmp 0x425537
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449ca0]
xor eax, eax
mov ecx, dword [ebp - 0x34]
cmp dword [ecx], 3
sete al
jmp dword [eax*4 + 0x449cb8]
mov edx, dword [ebp - 0x48]
inc edx
jmp 0x425427
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x21852774
mov dword [edx + 4], 0x3daf23ad
mov dword [edx + 8], 0x398f3fb5
mov dword [edx + 0xc], 0x35863b8a
mov word [edx + 0x10], 0x3734
mov eax, dword [ebp - 0x10c]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x16
ja 0x425626
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
mov edx, eax
not edx
or edx, 0x6009ee09
add edx, eax
xor eax, 0xe009ee09
lea esi, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 2
lea edx, [ecx + esi]
add edx, 2
and eax, ecx
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
mov edx, dword [ebp - 0x2c]
sub eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
add al, 0xd3
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x17
jb 0x4255d0
movzx edi, word [edx]
mov eax, dword [ebp - 0x38]
test di, di
je 0x4256e2
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov edx, eax
jmp 0x425654
add eax, 2
mov edx, eax
mov ecx, dword [ebp - 0x2c]
movzx edi, word [ecx]
test di, di
je 0x4256e2
movzx esi, word [edx]
test si, si
je 0x4256e0
cmp si, di
jne 0x425640
add edx, 2
add ecx, 2
jmp 0x425648
jmp dword [0x449ca8]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
mov edx, dword [ebp - 0x18]
cmp edi, 2
jb 0x4257d5
shr edi, 1
lea eax, [edi - 1]
mov ecx, edi
and ecx, 3
je 0x425770
mov dword [ebp - 0x44], eax
xor esi, esi
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [ecx]
xor eax, eax
test bx, bx
setne al
lea ecx, [ecx + eax*2]
mov word [edx], bx
add edx, 2
inc esi
cmp dword [ebp - 0x24], esi
jne 0x4256b0
sub edi, esi
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
cmp eax, 3
jae 0x425780
jmp 0x4257d5
xor eax, eax
mov ecx, dword [case.0x425106.25]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449ce0]
jmp dword [0x449ce8]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
mov edx, dword [ebp - 0x18]
cmp edi, 2
jb 0x425925
shr edi, 1
lea eax, [edi - 1]
mov ecx, edi
and ecx, 3
je 0x4258bd
mov dword [ebp - 0x40], eax
xor esi, esi
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [ecx]
xor eax, eax
test bx, bx
setne al
lea ecx, [ecx + eax*2]
mov word [edx], bx
add edx, 2
inc esi
cmp dword [ebp - 0x24], esi
jne 0x425740
sub edi, esi
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
cmp eax, 3
jae 0x4258d0
jmp 0x425925
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
cmp eax, 3
jb 0x4257d5
nop
nop
nop
nop
nop
movzx eax, word [ecx]
xor ebx, ebx
test ax, ax
setne bl
mov word [edx], ax
lea eax, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [edx + 2], cx
lea ecx, [eax + ebx*2]
movzx eax, word [eax + ebx*2]
xor ebx, ebx
test ax, ax
setne bl
mov word [edx + 4], ax
lea eax, [ecx + ebx*2]
movzx esi, word [ecx + ebx*2]
xor ecx, ecx
test si, si
setne cl
lea ecx, [eax + ecx*2]
mov word [edx + 6], si
add edx, 8
add edi, 0xfffffffc
jne 0x425780
mov ebx, dword [ebp - 0x1c]
mov dword [edx], 0x20003a
jmp case.0x425106.16
mov dword [eax], 0x20003a
jmp dword [0x449cb4]
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
mov eax, dword [ebp - 0x18]
cmp esi, 2
jb 0x4257e0
shr esi, 1
mov edi, esi
and edi, 3
je 0x425835
mov dword [ebp - 0x24], esi
xor esi, esi
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
nop
nop
nop
movzx ebx, word [edx]
xor ecx, ecx
test bx, bx
setne cl
lea edx, [edx + ecx*2]
mov word [eax], bx
add eax, 2
inc esi
cmp edi, esi
jne 0x425810
mov edi, dword [ebp - 0x24]
mov ecx, edi
sub ecx, esi
mov ebx, dword [ebp - 0x1c]
jmp 0x42583f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, esi
mov edi, esi
dec edi
cmp edi, 3
jb 0x4257e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edx]
xor ebx, ebx
test si, si
setne bl
mov word [eax], si
lea esi, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [eax + 2], dx
lea edx, [esi + ebx*2]
movzx esi, word [esi + ebx*2]
xor ebx, ebx
test si, si
setne bl
mov word [eax + 4], si
lea esi, [edx + ebx*2]
movzx edi, word [edx + ebx*2]
xor edx, edx
test di, di
setne dl
lea edx, [esi + edx*2]
mov word [eax + 6], di
add eax, 8
add ecx, 0xfffffffc
jne 0x425850
mov ebx, dword [ebp - 0x1c]
jmp 0x4257e0
add eax, 4
mov cl, 1
mov dword [ebp - 0x44], ecx
jmp 0x425a08
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
cmp eax, 3
jb 0x425925
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [ecx]
xor ebx, ebx
test ax, ax
setne bl
mov word [edx], ax
lea eax, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [edx + 2], cx
lea ecx, [eax + ebx*2]
movzx eax, word [eax + ebx*2]
xor ebx, ebx
test ax, ax
setne bl
mov word [edx + 4], ax
lea eax, [ecx + ebx*2]
movzx esi, word [ecx + ebx*2]
xor ecx, ecx
test si, si
setne cl
lea ecx, [eax + ecx*2]
mov word [edx + 6], si
add edx, 8
add edi, 0xfffffffc
jne 0x4258d0
mov ebx, dword [ebp - 0x1c]
mov word [edx], 0xa
jmp case.0x425106.32
mov word [eax], 0xa
jmp dword [0x449cf0]
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
mov eax, dword [ebp - 0x18]
cmp esi, 2
jb 0x425930
shr esi, 1
mov edi, esi
and edi, 3
je 0x425985
mov dword [ebp - 0x24], esi
xor esi, esi
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
nop
nop
nop
nop
movzx ebx, word [edx]
xor ecx, ecx
test bx, bx
setne cl
lea edx, [edx + ecx*2]
mov word [eax], bx
add eax, 2
inc esi
cmp edi, esi
jne 0x425960
mov edi, dword [ebp - 0x24]
mov ecx, edi
sub ecx, esi
mov ebx, dword [ebp - 0x1c]
jmp 0x42598f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, esi
mov edi, esi
dec edi
cmp edi, 3
jb 0x425930
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edx]
xor ebx, ebx
test si, si
setne bl
mov word [eax], si
lea esi, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [eax + 2], dx
lea edx, [esi + ebx*2]
movzx esi, word [esi + ebx*2]
xor ebx, ebx
test si, si
setne bl
mov word [eax + 4], si
lea esi, [edx + ebx*2]
movzx edi, word [edx + ebx*2]
xor edx, edx
test di, di
setne dl
lea edx, [esi + edx*2]
mov word [eax + 6], di
add eax, 8
add ecx, 0xfffffffc
jne 0x4259a0
mov ebx, dword [ebp - 0x1c]
jmp 0x425930
add eax, 2
mov cl, 1
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x48]
inc edx
mov dword [ebp - 0x18], eax
jmp 0x425424
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x108]
jmp dword [0x449cfc]
mov eax, edi
xor eax, 1
and edi, 1
lea edi, [eax + edi*2]
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x449c80]
mov edx, dword [ebp - 0x104]
add edx, 4
xor eax, eax
cmp edx, 0x14
setne al
jmp dword [eax*4 + 0x449c68]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x6c], 0x7c7d7a7b
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 4
ja 0x425ae3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0x6c]
mov esi, edx
xor esi, 0xd47f60ea
and edx, 0xd47f60ea
lea edx, [esi + edx*2]
lea esi, [edx + ecx]
not ecx
or edx, ecx
sub ecx, edx
lea ecx, [esi + ecx*2]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0x6e
mov edx, dword [ebp - 0x14]
mov byte [ebp + edx - 0x6c], cl
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp ecx, 5
jb 0x425aa0
mov ecx, dword [0x44e4ac]
test ecx, ecx
mov ebx, dword [ebp - 0xf8]
je 0x425b30
mov edx, dword [ebp - 0x6c]
xor esi, esi
mov edi, dword [0x44e4b0]
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x425b10
inc esi
cmp ecx, esi
jne 0x425b00
jmp 0x425b30
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x425b30
push eax
push 1
push dword [0x44e4b4]
push ecx
call fcn.0043f3f0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x425106.4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [ebp - 0x3c]
jmp dword [0x449d18]
push dword [ebp - 0xbc]
call fcn.0040c780
add esp, 4
inc ebx
xor eax, eax
cmp ebx, dword [esi]
setb al
mov ecx, dword [ebp - 0x7c]
jmp dword [eax*4 + 0x449c48]
mov eax, dword [ebp - 0x18]
mov word [eax], 0
mov ebx, dword [ebp - 0x40]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x449c50]
mov ecx, dword [ebp - 0x8c]
movzx eax, word [ecx]
xor ebx, ebx
jmp 0x425bab
add ebx, ecx
mov ecx, esi
movzx eax, word [esi + 2]
add ecx, 2
test ax, ax
je 0x425bd9
cmp ecx, dword [ebp - 0x18]
jae 0x425bd9
mov esi, ecx
movzx edx, ax
cmp edx, 0x800
mov eax, 3
sbb eax, 0
mov ecx, 1
cmp edx, 0x80
jb 0x425ba0
mov ecx, eax
jmp 0x425ba0
lea eax, [ebx + 1]
mov dword [ebp - 0x20], eax
push eax
call fcn.0040c770
add esp, 4
mov edi, eax
mov dword [ebp - 0x1c], eax
test ebx, ebx
mov eax, dword [ebp - 0xd0]
jle 0x425cbb
mov edi, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x18]
jae 0x425cbb
mov edi, dword [ebp - 0x1c]
lea ecx, [edi + ebx]
mov dword [ebp - 0x2c], ecx
add dword [ebp - 0x20], edi
add eax, 2
mov dword [ebp - 0x28], ebx
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [eax - 2]
test dx, dx
je 0x425cbb
mov ebx, eax
cmp dx, 0x7f
ja 0x425c40
mov byte [edi], dl
mov esi, 1
jmp 0x425ca0
mov eax, edi
not eax
add eax, dword [ebp - 0x20]
movzx ecx, dx
cmp eax, 2
jb 0x425c70
cmp ecx, 0x7ff
ja 0x425c70
mov eax, edx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
mov esi, 2
jmp 0x425ca0
xor esi, esi
cmp eax, 3
jb 0x425ca0
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and dl, 0x3f
or dl, 0x80
mov byte [edi + 2], dl
mov esi, 3
nop
nop
nop
nop
nop
nop
add edi, esi
cmp edi, dword [ebp - 0x2c]
jae 0x425cb8
lea eax, [ebx + 2]
cmp ebx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x28]
jb 0x425c20
jmp 0x425cbb
mov ebx, dword [ebp - 0x28]
mov byte [edi], 0
mov esi, dword [ebp - 0xcc]
mov dword [esi], 0xdddadbb3
mov dword [esi + 4], 0xc9d9dadf
mov dword [esi + 8], 0xccd0d2d3
mov dword [esi + 0xc], 0xf1f58e91
mov dword [esi + 0x10], 0xecebeae8
mov dword [esi + 0x14], 0xe4f887a9
mov dword [esi + 0x18], 0xeae6e4ee
mov dword [esi + 0x1c], 0xe5e2bdfd
mov word [esi + 0x20], 0x6be0
mov dword [esi + 0x22], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x25
ja 0x425d55
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
mov edx, eax
xor edx, 0x7e8b6f93
and eax, 0xfe8b6f93
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
add al, 0x21
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x26
jb 0x425d20
mov ecx, dword [ebp + 8]
push ebx
mov edi, dword [ebp - 0x1c]
push edi
push esi
call fcn.0040d440
mov ebx, eax
jmp dword [0x449d30]
push edi
call fcn.0040c780
add esp, 4
and bl, 1
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
pop edx
inc edx
add byte [eax], dl
push ecx
inc edx
add byte [eax + 0x5b], al
inc edx
add byte [eax + 0x5b], al
inc edx
add byte [edx + 0x5b], al
inc edx
add byte [eax + 0x5b], al
inc edx
add byte [ebx + 0x5a], bl
inc edx
add al, al
push ebx
inc edx
add byte [esi], al
push ebx
inc edx
add al, dh
push ebx
inc edx
add byte [eax], ah
pop edx
inc edx
add byte [ecx + 0x54], bl
inc edx
add byte [edx + 0x54], dh
inc edx
add byte [eax + 0x64004254], dl
push ebp
inc edx
add byte [eax + 0x56], dh
inc edx
add ah, ch
push edi
inc edx
add byte [esi + 0x56], dh
inc edx
add ah, ch
push edi
inc edx
add byte [eax + 0x76004258], dh
push ebp
inc edx
add byte [eax - 0xfffbdab], al
push esi
inc edx
add al, dh
push esi
inc edx
add al, dh
push esi
inc edx
add dl, dh
push esi
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add dl, dh
push esi
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], ah
push esp
inc edx
add byte [eax], al
push edi
inc edx
add byte [ebx], bh
pop ecx
inc edx
add byte [esi], al
push edi
inc edx
add byte [eax], al
pop edx
inc edx
add byte [ebx], bh
pop ecx
inc edx
add byte [eax + 0x53], al
inc edx
add byte [eax + 0x52], ah
inc edx
add byte [esi], al
push ebx
inc edx
add byte [eax + 0x53], al
inc edx
add byte [eax], ah
push ebx
inc edx
add byte [eax], ah
push ebx
inc edx
add byte [eax + 0x5a], al
inc edx
add byte [eax], ah
push ebx
inc edx
add byte [ebx + 0x5b], cl
inc edx
add al, dh
inc esi
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0x5b], bl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x5d], ch
inc edx
add byte [ebp + ebx*2 + 0x42], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, dh
pushal
inc edx
add byte [esi], al
popal
inc edx
add byte [esi], al
popal
inc edx
add byte [ecx], ah
inc edx
add byte [eax - 0x5fffbd9f], ah
popal
inc edx
add byte [edi + 0x61], bl
inc edx
add byte [edi - 0x7fffbd9f], ah
arpl word [edx], ax
dec ecx
arpl word [edx], ax
mov al, byte [0x71004263]
imul eax, dword [edx], 0x4263f0
mov dl, 0x64
inc edx
add byte [eax], dl
inc edx
add byte [eax], dl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], dl
inc edx
add byte [eax], dl
inc edx
add byte [ecx + 0x69], dh
inc edx
add byte [eax + 0x65], al
inc edx
add ch, bh
inc edx
add bl, bh
inc edx
add byte [ebx], dh
inc edx
add ch, bh
inc edx
add cl, cl
inc dx
add byte [eax + 0x72004264], ah
arpl word [edx], ax
pushal
inc edx
add byte [esi], bh
inc edx
add byte [esi], bh
inc edx
add byte [eax + 0x71004263], al
imul eax, dword [edx], 0x426190
mov al, byte [0x5f004261]
popal
inc edx
add byte [edi + 0x61], dh
inc edx
add byte [edi], bh
imul eax, dword [edx], 0x42694e
pop ebp
imul eax, dword [edx], 0x42695d
pop ebp
imul eax, dword [edx], 0x4260f0
add dword [eax], eax
add byte [eax], al
inc ebp
imul eax, dword [edx], case.0x426ebc.1
ret