Function at 0x423e41
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21f8
call fcn.00408200
mov dword [esp + 0xdf8], 0xd90cdb68
mov dword [esp + 0xdfc], 0xdd07df03
mov dword [esp + 0xe00], 0xd107d303
mov dword [esp + 0xe04], 0xd500d704
mov dword [esp + 0xe08], 0xa906ab7b
mov dword [esp + 0xe0c], 0xad7baf03
mov dword [esp + 0xe10], 0xa174a377
mov word [esp + 0xe14], 0xa7a0
mov dword [esp + 0xe16], 0
mov word [esp + 0xe1a], 0
mov eax, 0xaf
mov ecx, 0x50
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0xd49]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, eax
and edx, ecx
or edx, esi
add dl, 0x95
mov byte [esp + eax + 0xd49], dl
inc eax
dec ecx
cmp eax, 0xd3
jne case.default.0x41f1dd
lea eax, [esp + 0x30]
lea ecx, [esp + 0xdf8]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x14], ecx
push ecx
call fcn.0043def0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4447c0]
lea eax, [esp + 0x70]
lea ecx, [esp + 0x2c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x50]
call fcn.0043e290
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4447d8]
jmp case.0x41f1dd.4
mov eax, dword [case.0x41f1dd.4]
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
jmp 0x420943
mov eax, dword [case.0x41f1dd.10]
nop
nop
jmp eax
xor ecx, ecx
lea eax, [esp + 0x8a]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x9a]
mov dword [esp + 0x5c], eax
lea edx, [esp + 0x12a]
lea ebp, [esp + 0x12a]
lea eax, [esp + 0x16e]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x40], 0
cmp ecx, dword [esp + 0x2c]
setb al
xor edi, edi
jmp dword [eax*4 + 0x4447f0]
mov eax, dword [esp + 4]
jmp dword [0x4447fc]
mov word [eax], 0
jmp dword [0x444804]
mov word [eax], 0
mov word [eax], 0
jmp dword [0x444804]
mov eax, dword [esp + 0x40]
mov ecx, eax
and cl, 1
movzx ecx, cl
mov ebp, dword [esp + 0x220c]
jmp dword [ecx*4 + 0x444808]
movzx ecx, word [esp + 0xdf8]
xor edi, edi
test cx, cx
je 0x42086b
lea eax, [esp + 0xdfa]
jmp 0x42083c
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
lea edx, [esp + 0x12a]
lea ebp, [esp + 0x12a]
xor eax, eax
cmp edi, dword [esp + 0x2c]
setb al
jmp dword [eax*4 + 0x4447f0]
mov dword [esp], edx
mov esi, dword [esp + 0x70]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41f32e
mov eax, 0xffffffff
push eax
call fcn.00408230
add esp, 4
mov ebx, eax
mov dword [esp + 0x6c], esi
lea eax, [esp + 0x6c]
push eax
push ebx
push edi
push dword [esp + 0x3c]
call fcn.0043e000
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444810]
jmp dword [0x444890]
lea eax, [esp + 0x4c]
push dword [esp + 0x30]
push 0
push 0x20019
push eax
push ebx
call fcn.0043def0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444818]
jmp dword [0x444890]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x88], 0x49dd4bbf
mov dword [esp + 0x8c], 0x45c847d5
mov dword [esp + 0x90], 0x41cf43d5
mov dword [esp + 0x94], 0x7de47fd1
mov dword [esp + 0x98], 0x799e7bf0
mov dword [esp + 0x9c], 0x75e17791
mov dword [esp + 0xa0], 0x71ee73e6
mov dword [esp + 0xa4], 0x6de76fe1
mov dword [esp + 0xa8], 0x694a6be1
mov dword [esp + 0xac], 0x65fd679b
mov dword [esp + 0xb0], 0x61ef63e9
mov dword [esp + 0xb4], 0x1d871fff
mov dword [esp + 0xb8], 0x19881b8b
mov dword [esp + 0xbc], 0x15361781
mov dword [esp + 0xc0], 0x119913f9
mov dword [esp + 0xc4], 0xd830f8e
mov dword [esp + 0xc8], 0x9870b8b
mov dword [esp + 0xcc], 0x59d0784
mov dword [esp + 0xd0], 0x1e60397
mov dword [esp + 0xd4], 0x3db03ff0
mov dword [esp + 0xd8], 0x39a03bad
mov dword [esp + 0xdc], 0x35a237af
mov dword [esp + 0xe0], 0x31bf33af
mov dword [esp + 0xe4], 0x2de92fd4
mov dword [esp + 0xe8], 0x29e32be1
mov dword [esp + 0xec], 0x25db27e3
mov dword [esp + 0xf0], 0x21d823de
mov dword [esp + 0xf4], 0xdd12dff0
mov dword [esp + 0xf8], 0xd917db13
mov dword [esp + 0xfc], 0xd519d717
mov dword [esp + 0x100], 0xd14ed31b
mov dword [esp + 0x104], 0xcd30cf1d
mov dword [esp + 0x108], 0xc902cb04
mov dword [esp + 0x10c], 0xc516c737
mov dword [esp + 0x110], 0xc10dc314
mov dword [esp + 0x114], 0xfd32ff10
mov dword [esp + 0x118], 0xf934fb02
mov dword [esp + 0x11c], 0xf53cf707
mov dword [esp + 0x120], 0xf13bf33e
mov dword [esp + 0x124], 0xed0aef3a
lea eax, [esp + 0x128]
mov word [esp + 0x128], 0xebec
mov dword [esp + 0x12a], 0
mov ecx, 0x54cab093
mov edx, 0xab354f6d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x54cab00b]
mov ebx, ecx
and ebx, esi
lea edi, [edx + ebx*2]
add ebx, ebx
not ebx
add ebx, ecx
and ebx, esi
not esi
and esi, edi
sub ebx, esi
add bl, 0x21
mov byte [esp + ecx - 0x54cab00b], bl
inc ecx
dec edx
cmp ecx, 0x54cab139
jne 0x41f590
lea edi, [esp + 0x92c]
lea edx, [esp + 0x88]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x9cc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x970f992d
mov dword [esp + 0x8c], 0x931c950b
mov dword [esp + 0x90], 0x8f019103
mov dword [esp + 0x94], 0x8b108d1f
mov dword [esp + 0x98], 0x87228904
mov dword [esp + 0x9c], 0x831b852f
mov dword [esp + 0xa0], 0x7fe28112
mov dword [esp + 0xa4], 0x7bf17def
mov dword [esp + 0xa8], 0x779679f7
mov dword [esp + 0xac], 0x73de75c6
mov dword [esp + 0xb0], 0x6fd171d4
mov dword [esp + 0xb4], 0x6be46de1
mov dword [esp + 0xb8], 0x67fb69e6
mov dword [esp + 0xbc], 0x63ee65f6
mov dword [esp + 0xc0], 0x5fc361ca
mov dword [esp + 0xc4], 0x5bd55dd2
mov dword [esp + 0xc8], 0x57c559c1
mov dword [esp + 0xcc], 0x53f655c6
mov dword [esp + 0xd0], 0x4fd751fb
mov dword [esp + 0xd4], 0x4bd64dde
mov dword [esp + 0xd8], 0x47cd49db
mov dword [esp + 0xdc], 0x43a245cb
mov dword [esp + 0xe0], 0x3fa341f5
mov dword [esp + 0xe4], 0x3bb53db3
mov dword [esp + 0xe8], 0x37ad3999
mov dword [esp + 0xec], 0x33a035ad
mov dword [esp + 0xf0], 0x2fce31ab
mov dword [esp + 0xf4], 0x2ba72d83
mov dword [esp + 0xf8], 0x27a929b6
mov dword [esp + 0xfc], 0x23ad25ad
mov dword [esp + 0x100], 0x1f8321ac
mov dword [esp + 0x104], 0x1bbe1d89
mov dword [esp + 0x108], 0x179819a8
mov dword [esp + 0x10c], 0x13881587
mov dword [esp + 0x110], 0xf9a1189
mov dword [esp + 0x114], 0xb850d91
mov dword [esp + 0x118], 0x7b509ac
mov dword [esp + 0x11c], 0x38e0589
mov dword [esp + 0x120], 0xff6d0194
mov dword [esp + 0x124], 0xfb6dfd6f
mov dword [esp + 0x128], 0xf73ff95c
mov dword [esp + 0x12c], 0xf339f53b
mov dword [esp + 0x130], 0xef51f13d
mov dword [esp + 0x134], 0xeb50ed56
mov dword [esp + 0x138], 0xe72ae938
mov dword [esp + 0x13c], 0xe32de535
mov dword [esp + 0x140], 0xdf0fe131
mov dword [esp + 0x144], 0xdb46dd0d
mov dword [esp + 0x148], 0xd768d917
mov dword [esp + 0x14c], 0xd31ad51c
mov dword [esp + 0x150], 0xcf1ed111
mov dword [esp + 0x154], 0xcb1bcd1c
mov dword [esp + 0x158], 0xc70ac918
mov dword [esp + 0x15c], 0xc30cc57a
mov dword [esp + 0x160], 0xbf74c101
mov dword [esp + 0x164], 0xbb71bd76
mov dword [esp + 0x168], 0xb712b972
lea eax, [esp + 0x16c]
mov word [esp + 0x16c], 0xb5b4
mov ecx, dword [esp + 0x50]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0x9a140766
mov edx, 0x19
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x65ebf922]
mov edi, edx
and edi, 0x21
mov ebx, ecx
and ebx, 0xde
or ebx, edi
xor ebx, ecx
xor ebx, 0xde
and ebx, esi
xor ebx, ecx
add bl, 2
mov byte [esp + ecx + 0x65ebf922], bl
inc ecx
dec edx
cmp ecx, 0x9a140851
jne 0x41f890
lea edi, [esp + 0x9ce]
lea edx, [esp + 0x88]
mov ecx, 0x39
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xab2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x91059f23
mov dword [esp + 0x8c], 0x95009335
mov dword [esp + 0x90], 0x89039705
mov dword [esp + 0x94], 0x8d2c8b19
mov dword [esp + 0x98], 0x81228f18
mov dword [esp + 0x9c], 0x85248331
mov dword [esp + 0xa0], 0xf91d8722
mov dword [esp + 0xa4], 0xfd5dfb5d
mov dword [esp + 0xa8], 0xf1adff50
mov dword [esp + 0xac], 0xf5acf3a5
mov dword [esp + 0xb0], 0xe95af7a4
mov dword [esp + 0xb4], 0xed7deb59
mov dword [esp + 0xb8], 0xe172ef78
mov dword [esp + 0xbc], 0xe573e371
mov dword [esp + 0xc0], 0xd94ae779
mov dword [esp + 0xc4], 0xdd48db68
mov dword [esp + 0xc8], 0xd178df4d
mov dword [esp + 0xcc], 0xd54ed34b
mov dword [esp + 0xd0], 0xc943d773
mov dword [esp + 0xd4], 0xcd7bcb64
mov dword [esp + 0xd8], 0xc15acf5b
mov dword [esp + 0xdc], 0xc553c35c
mov dword [esp + 0xe0], 0x395bc755
mov dword [esp + 0xe4], 0x3d713b94
mov dword [esp + 0xe8], 0x31773f69
mov dword [esp + 0xec], 0x35773367
mov dword [esp + 0xf0], 0x29703772
mov dword [esp + 0xf4], 0x2d7e2b78
mov dword [esp + 0xf8], 0x217b2f7f
mov dword [esp + 0xfc], 0x25712373
mov dword [esp + 0x100], 0x19822777
mov dword [esp + 0x104], 0x1d581b4d
mov dword [esp + 0x108], 0x11561f54
mov dword [esp + 0x10c], 0x15421353
mov dword [esp + 0x110], 0x9451744
mov dword [esp + 0x114], 0xd5e0b58
mov dword [esp + 0x118], 0x15c0f4e
mov dword [esp + 0x11c], 0x5540343
mov dword [esp + 0x120], 0x794f0752
mov dword [esp + 0x124], 0x7dd67b2e
lea eax, [esp + 0x128]
mov dword [esp + 0x24], eax
mov dword [esp + 0x128], 0x7f7c
mov ecx, 0x5ffc3fdb
mov edx, 0x25
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x63]
mov edi, edx
and edi, ebx
mov esi, edi
and esi, 2
mov eax, edi
or edi, 2
imul edi, esi
xor esi, 2
and eax, 0xfffffffd
imul eax, esi
add edi, eax
lea eax, [ecx + edi]
xor eax, ebx
not edi
add edi, edx
and edi, ebx
add edi, edi
sub edi, eax
mov esi, edi
and esi, 0xdfed3f44
mov eax, edi
and eax, 2
mov ebx, eax
xor ebx, 2
imul ebx, esi
or esi, 2
imul esi, eax
mov eax, edi
xor eax, 0x46
add eax, ebx
add eax, esi
and edi, 1
lea ebx, [edi + edi]
or eax, 1
sub ebx, edi
add ebx, eax
mov byte [esp + edx + 0x63], bl
dec ecx
inc edx
cmp edx, 0xc9
jne 0x41fad0
lea edi, [esp + 0x88a]
lea eax, [esp + 0x88]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x92a]
mov ecx, 1
mov eax, dword [esp + 0x24]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x39ad3b8f
mov dword [esp + 0x8c], 0x25b82795
mov dword [esp + 0x90], 0x21bf23b5
mov dword [esp + 0x94], 0x2d842fb1
mov dword [esp + 0x98], 0x298e2bb0
mov dword [esp + 0x9c], 0x15bc1799
mov dword [esp + 0xa0], 0x118513be
mov dword [esp + 0xa4], 0x1db51fbd
mov dword [esp + 0xa8], 0x19c51bb8
mov dword [esp + 0xac], 0x5d407c4
mov dword [esp + 0xb0], 0x1a603d4
mov dword [esp + 0xb4], 0xd950fb1
mov dword [esp + 0xb8], 0x99e0b90
mov dword [esp + 0xbc], 0xf567f799
mov dword [esp + 0xc0], 0xf156f361
mov dword [esp + 0xc4], 0xfd60ff40
mov dword [esp + 0xc8], 0xf950fb6d
mov dword [esp + 0xcc], 0xe572e76f
mov dword [esp + 0xd0], 0xe17fe34f
mov dword [esp + 0xd4], 0xed5fef44
mov dword [esp + 0xd8], 0xe976eb77
mov dword [esp + 0xdc], 0xd547d77c
mov dword [esp + 0xe0], 0xd147d345
mov dword [esp + 0xe4], 0xdd19df74
mov dword [esp + 0xe8], 0xd903db01
mov dword [esp + 0xec], 0xc50bc703
mov dword [esp + 0xf0], 0xc108c30e
mov dword [esp + 0xf4], 0xcd12cf10
mov dword [esp + 0xf8], 0xc917cb13
mov dword [esp + 0xfc], 0xb569b717
mov dword [esp + 0x100], 0xb11eb36b
mov dword [esp + 0x104], 0xbd70bf6d
mov dword [esp + 0x108], 0xb962bb64
mov dword [esp + 0x10c], 0xa576a777
mov dword [esp + 0x110], 0xa17da374
mov dword [esp + 0x114], 0xad72af70
mov dword [esp + 0x118], 0xa974ab62
mov dword [esp + 0x11c], 0x954c9767
mov dword [esp + 0x120], 0x914b934e
mov dword [esp + 0x124], 0x9d3a9f4a
lea edx, [esp + 0x128]
mov word [esp + 0x128], 0x9b9c
mov word [ebp + 4], 0
mov dword [ebp], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x88]
mov ecx, eax
xor ecx, 0x8ffc20b4
mov edi, eax
or edi, 0x7003df4b
and ecx, edi
add ecx, edi
xor ecx, esi
mov esi, ecx
and esi, 1
xor ecx, 1
add ecx, 0x88
or ecx, esi
add ecx, esi
mov byte [esp + eax + 0x88], cl
inc eax
cmp eax, 0xa8
jne 0x41fd50
lea ebp, [esp + 0xb56]
lea eax, [esp + 0x88]
mov edi, ebp
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xbf6]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x88], 0xc16dc773
mov dword [esp + 0x8c], 0xcd50c36d
mov dword [esp + 0x90], 0xc953cf5d
mov dword [esp + 0x94], 0xb564cb59
mov dword [esp + 0x98], 0xb112b728
mov dword [esp + 0x9c], 0xbd1cb301
mov dword [esp + 0xa0], 0xb915bf12
mov dword [esp + 0xa4], 0xa515bb15
mov dword [esp + 0xa8], 0xa175a700
mov dword [esp + 0xac], 0xad74a37f
mov dword [esp + 0xb0], 0xa90aaf7c
mov dword [esp + 0xb4], 0x9535ab19
mov dword [esp + 0xb8], 0x91029708
mov dword [esp + 0xbc], 0x9d039301
mov dword [esp + 0xc0], 0x993a9f09
mov dword [esp + 0xc4], 0x85089b28
mov dword [esp + 0xc8], 0x81288715
mov dword [esp + 0xcc], 0x8d16832b
mov dword [esp + 0xd0], 0x89138f23
mov dword [esp + 0xd4], 0x753b8b2c
mov dword [esp + 0xd8], 0x71ea77eb
mov dword [esp + 0xdc], 0x7de373e4
mov dword [esp + 0xe0], 0x79eb7fed
mov dword [esp + 0xe4], 0x65a17bdc
mov dword [esp + 0xe8], 0x61bf67b9
mov dword [esp + 0xec], 0x6daf63bf
mov dword [esp + 0xf0], 0x69a06fa2
mov dword [esp + 0xf4], 0x55b66bb8
mov dword [esp + 0xf8], 0x518b5787
mov dword [esp + 0xfc], 0x5d815383
mov dword [esp + 0x100], 0x59f25f8f
mov dword [esp + 0x104], 0x45985b85
mov dword [esp + 0x108], 0x419e479c
mov dword [esp + 0x10c], 0x4d924383
mov dword [esp + 0x110], 0x499d4f9c
mov dword [esp + 0x114], 0x35964b98
mov dword [esp + 0x118], 0x31e437f6
mov dword [esp + 0x11c], 0x3dec33f3
mov dword [esp + 0x120], 0x39e73fe2
mov dword [esp + 0x124], 0x259e3be6
lea eax, [esp + 0x128]
mov word [esp + 0x128], 0x2724
mov ecx, dword [esp]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0x31
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x57]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xb
mov byte [esp + ecx + 0x57], dl
inc ecx
cmp ecx, 0xd9
jne case.default.0x420027
lea edx, [esp + 0xab4]
lea esi, [esp + 0x88]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xb54]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esp + 0x92c]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x9ce]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x88a]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x444820]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x88], 0x74757677
mov byte [esp + 0x8c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
and edx, 3
movzx esi, byte [esp + ecx + 0x88]
mov edi, ecx
and edi, 4
mov ebx, ecx
xor ebx, 0xc4e6a94
add ebx, ecx
sub ebx, edx
mov edx, ebx
and edx, edi
xor ebx, edi
lea edx, [ebx + edx*2]
mov edi, edx
and edi, esi
add edx, esi
add edi, edi
sub edx, edi
mov esi, edx
and esi, 0xc277eb19
mov edi, edx
and edi, 2
mov ebx, edi
xor ebx, 2
imul ebx, esi
or esi, 2
imul esi, edi
xor edx, 0xc277eb1b
add ebx, edx
add ebx, esi
and edx, 1
or ebx, 1
add ebx, edx
mov byte [esp + ecx + 0x88], bl
inc ecx
cmp ecx, 5
jne 0x420050
mov ecx, dword [0x44a7f4]
test ecx, ecx
mov ebx, dword [esp + 0x54]
je 0x4207d0
mov edx, dword [esp + 0x88]
xor esi, esi
mov edi, dword [0x44a7f8]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x4207c4
inc esi
cmp ecx, esi
jne 0x4200e0
jmp 0x4207d0
mov ecx, dword [esp + 0x60]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x444820]
mov dword [esp + 0x60], ecx
mov eax, dword [esp + ecx + 0x74]
mov dword [esp + 0x88], 0x69ba6bb4
mov dword [esp + 0x8c], 0x6dbe6fb8
mov dword [esp + 0x90], 0x518253bc
mov dword [esp + 0x94], 0x55ee5780
mov word [esp + 0x98], 0x5b54
mov ecx, dword [esp + 0x5c]
mov word [ecx + 4], 0
mov dword [ecx], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x17
xor dl, byte [esp + ecx + 0x88]
add dl, 0x8d
mov byte [esp + ecx + 0x88], dl
inc ecx
cmp ecx, 0x18
jne 0x420170
movzx ecx, word [eax]
lea esi, [esp + 0xbf8]
test cx, cx
je 0x4201b1
add eax, 2
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x4201a0
mov word [esi], 0
movzx eax, word [esp + 0x88]
test ax, ax
je 0x4201e1
mov ecx, dword [esp + 0x58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4201d0
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x38], esi
jmp dword [eax*4 + 0x444828]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x444828]
mov word [esi - 2], di
lea eax, [esp + 0x48]
lea ecx, [esp + 0xbf8]
push dword [esp + 0x4c]
push 0
push 0x20019
push eax
push ecx
call fcn.0043def0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444830]
mov dword [esp + 0x68], 0x800
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], 0x400
xor ebp, ebp
mov dword [esp + 0x44], 0
jmp 0x420278
mov edx, dword [esp + 4]
mov word [edx], 0xa
add edx, 2
mov dword [esp + 4], edx
mov al, 1
mov dword [esp + 0x40], eax
inc ebp
lea eax, [esp + 0x28]
lea edi, [esp + 0x1df8]
lea ecx, [esp + 0x64]
lea edx, [esp + 0x68]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x98]
push eax
push ebp
push dword [esp + 0x60]
call fcn.0043e550
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444838]
test byte [esp + 0x44], 1
sete al
mov ebx, dword [esp + 0x64]
cmp ebx, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x444850]
mov ecx, dword [case.0x4207bd.16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov dword [esp + 0xc], 0x690f6b23
mov dword [esp + 0x10], 0x6d1f6f0d
mov dword [esp + 0x14], 0x71007317
mov dword [esp + 0x18], 0x75767704
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0xc]
lea esi, [ecx - 0x4a00df99]
mov edx, 0x98
sub edx, ecx
xor edx, esi
and edx, eax
xor edx, esi
mov eax, edx
and eax, 1
or edx, 1
add edx, eax
add dl, 0xfc
mov byte [esp + ecx + 0xc], dl
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
cmp ecx, 0xf
jbe 0x420320
mov dword [esp], ebx
mov dword [esp + 8], ebp
jmp dword [0x44485c]
jmp case.0x4207bd.13
jmp dword [0x444860]
movzx ebp, word [esp + 0xc]
lea eax, [esp + 0x88]
test bp, bp
je 0x420370
lea ecx, [esp + 0x88]
lea ebx, [esp + 0xc]
mov eax, ecx
jmp 0x4203a8
movzx ebp, word [ebx]
test bp, bp
je 0x420370
movzx esi, word [ecx]
test si, si
je 0x4203d0
add ecx, 2
add ebx, 2
lea edx, [eax + 2]
cmp si, bp
je 0x4203c2
mov eax, edx
mov ecx, edx
je 0x4203a0
lea ebx, [esp + 0xc]
jmp 0x4203a0
xor eax, eax
jmp dword [0x444860]
xor edx, edx
test eax, eax
setne dl
mov ebp, dword [esp + 8]
mov ebx, dword [esp]
jmp dword [edx*4 + 0x444868]
xor eax, eax
cmp ebx, 3
sete al
jmp dword [eax*4 + 0x444880]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0x19b51b4c
mov dword [esp + 0x10], 0x65db67a5
mov dword [esp + 0x14], 0x61d363dd
mov dword [esp + 0x18], 0x6dc26fde
mov word [esp + 0x1c], 0x6b6c
mov dword [esp + 0x1e], 0
xor ecx, ecx
mov eax, 0xfe
mov edx, 0xffffffff
nop
nop
nop
nop
nop
mov dword [esp], eax
mov ebp, ecx
and ebp, 4
add eax, ebp
mov dword [esp + 0x24], eax
add ebp, edx
mov edi, ecx
and edi, 0x1b
mov ebx, ecx
xor ebx, 0xef22b63b
mov eax, ecx
and eax, 0xfb
add eax, ebx
add eax, edi
neg ebx
mov esi, ebx
sub esi, edi
add esi, ebp
movzx ebp, byte [esp + ecx + 0xc]
or esi, ebp
or eax, ebp
sub ebx, esi
sub ebx, edi
add ebx, dword [esp + 0x24]
and ebx, eax
mov eax, dword [esp]
add bl, 0xd9
mov byte [esp + ecx + 0xc], bl
inc ecx
dec eax
dec edx
cmp ecx, 0x16
jne 0x420440
movzx edi, word [esp + 0xc]
lea eax, [esp + 0x88]
test di, di
mov ebp, dword [esp + 8]
je 0x4205d9
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
mov eax, ecx
jmp 0x4204cc
movzx edi, word [edx]
test di, di
je 0x4205d9
movzx esi, word [ecx]
test si, si
je 0x4205d7
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp si, di
je 0x4204ea
mov eax, ebx
mov ecx, ebx
je 0x4204c0
lea edx, [esp + 0xc]
jmp 0x4204c0
mov eax, dword [esp + 0x28]
cmp eax, 2
jae 0x420512
mov esi, dword [esp + 4]
jmp 0x4205c2
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x4206a9
mov dword [esp], ecx
xor ebx, ebx
lea edi, [esp + 0x1df8]
mov esi, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, word [edi]
xor ecx, ecx
test bp, bp
setne cl
lea edi, [edi + ecx*2]
mov word [esi], bp
add esi, 2
inc ebx
cmp edx, ebx
jne 0x420540
sub eax, ebx
mov ebp, dword [esp + 8]
mov ecx, dword [esp]
cmp ecx, 3
jb 0x4205c2
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [esi + 2], cx
movzx ecx, word [ebx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [esi + 6], dx
add esi, 8
lea edi, [ebx + ecx*2]
add eax, 0xfffffffc
jne 0x420570
mov dword [esi], 0x20003a
add esi, 4
mov dword [esp + 4], esi
mov al, 1
mov dword [esp + 0x44], eax
jmp case.0x4207bd.24
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444888]
inc ebp
jmp 0x420278
mov eax, dword [esp + 0x28]
cmp eax, 2
jb 0x420261
shr eax, 1
lea esi, [eax - 1]
mov edi, eax
lea ecx, [esp + 0x1df8]
and edi, 3
mov edx, dword [esp + 4]
je 0x420647
mov dword [esp], esi
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
mov ebp, edx
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov edx, ebp
mov word [ebp], si
add edx, 2
inc ebx
cmp edi, ebx
jne 0x420620
sub eax, ebx
mov ebp, dword [esp + 8]
mov esi, dword [esp]
cmp esi, 3
jb 0x420265
mov esi, edx
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [ecx + ebx*2]
mov word [esi], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi + 2], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [esi + 4], cx
movzx edx, word [ebx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [esi + 6], dx
lea edx, [esi + 8]
lea ecx, [edi + ecx*2]
add eax, 0xfffffffc
jne 0x420650
jmp 0x420265
mov esi, dword [esp + 4]
cmp ecx, 3
jae 0x420570
jmp 0x4205c2
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], 0x74757677
mov byte [esp + 0x10], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
and edx, 3
movzx esi, byte [esp + ecx + 0xc]
mov edi, ecx
and edi, 4
mov ebx, ecx
xor ebx, 0xc4e6a94
add ebx, ecx
sub ebx, edx
mov edx, ebx
and edx, edi
xor ebx, edi
lea edx, [ebx + edx*2]
mov edi, edx
and edi, esi
add edx, esi
add edi, edi
sub edx, edi
mov esi, edx
and esi, 0xc277eb19
mov edi, edx
and edi, 2
mov ebx, edi
xor ebx, 2
imul ebx, esi
or esi, 2
imul esi, edi
xor edx, 0xc277eb1b
add ebx, edx
add ebx, esi
and edx, 1
or ebx, 1
add ebx, edx
mov byte [esp + ecx + 0xc], bl
inc ecx
cmp ecx, 5
jne 0x4206e0
mov ecx, dword [0x44a7f4]
test ecx, ecx
je 0x420780
mov edx, dword [esp + 0xc]
xor esi, esi
mov edi, dword [0x44a7f8]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x420770
inc esi
cmp ecx, esi
jne 0x420760
jmp 0x420780
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x420792
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x3c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x38]
jmp dword [eax*4 + 0x444828]
push eax
push 4
push ecx
push dword [0x44a7fc]
call fcn.00439fa0
add esp, 0x10
mov edi, dword [esp + 0x3c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x38]
jmp dword [eax*4 + 0x444828]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42080c
nop
nop
nop
nop
mov edi, dword [esp + 0x34]
jmp dword [0x444890]
push ebx
call fcn.00408240
add esp, 4
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
lea edx, [esp + 0x12a]
lea ebp, [esp + 0x12a]
xor eax, eax
cmp edi, dword [esp + 0x2c]
setb al
jmp dword [eax*4 + 0x4447f0]
push eax
push 4
push ecx
push dword [0x44a7fc]
call fcn.00439fa0
add esp, 0x10
mov edi, dword [esp + 0x34]
jmp dword [0x444890]
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42086b
cmp cx, 0x7f
jbe 0x420830
movzx edx, cx
cmp edx, 0x7ff
ja 0x420860
add edi, 2
jmp 0x420831
cmp cx, 0xffff
je 0x420831
add edi, 3
jmp 0x420831
lea ebx, [edi + 1]
push ebx
call fcn.00408230
add esp, 4
mov esi, eax
lea eax, [esp + 0xdf8]
push eax
push ebx
push esi
call fcn.00420950
add esp, 0xc
mov dword [esp + 0x88], 0x535e5909
mov dword [esp + 0x8c], 0x57636a55
mov dword [esp + 0x90], 0x50545259
mov dword [esp + 0x94], 0x2f2f7617
mov dword [esp + 0x98], 0x202d2a24
mov dword [esp + 0x9c], 0x20240d6f
mov dword [esp + 0xa0], 0x122a282a
mov dword [esp + 0xa4], 0x233e6723
mov dword [esp + 0xa8], 0xa93c
mov byte [esp + 0xac], 0
mov eax, 0x32
mov ecx, 0xcd
movzx edx, byte [esp + eax + 0x56]
mov ebx, eax
or ebx, edx
not edx
or edx, ecx
and edx, ebx
add dl, 6
mov byte [esp + eax + 0x56], dl
inc eax
dec ecx
cmp eax, 0x57
jne 0x420900
lea eax, [esp + 0x88]
mov ecx, ebp
push edi
push esi
push eax
call fcn.00409190
jmp dword [0x444898]
push esi
mov esi, eax
call fcn.00408240
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21f8
pop esi
pop edi
pop ebx
pop ebp
ret
xor edx, edx
test eax, eax
sete dl
mov eax, 0x100
xor ecx, ecx
jmp dword [edx*4 + 0x444ed4]
jmp dword [ecx*4 + 0x444e5c]
mov ecx, eax
xor ecx, 0x300
xor eax, 0xfffdffe6
or eax, ecx
mov dword [esp + 0x44], 0x61d467c0
mov dword [esp + 0x48], 0x5ddb63df
mov dword [esp + 0x4c], 0x59f35fe7
mov dword [esp + 0x50], 0x55e85bf4
mov dword [esp + 0x54], 0x51f257ff
mov dword [esp + 0x58], 0x4d9153e7
mov dword [esp + 0x5c], 0x49f64ff1
mov dword [esp + 0x60], 0x45fc4bf3
mov dword [esp + 0x64], 0x41e247fb
mov dword [esp + 0x68], 0x3df343ed
mov dword [esp + 0x6c], 0x39923f82
mov dword [esp + 0x70], 0x35f93b91
mov dword [esp + 0x74], 0x31893786
mov dword [esp + 0x78], 0x2d853394
mov dword [esp + 0x7c], 0x29b32fb7
mov dword [esp + 0x80], 0x25bb2bba
mov dword [esp + 0x84], 0x21b727a9
mov dword [esp + 0x88], 0x1dae23be
mov dword [esp + 0x8c], 0x19b71fb8
mov dword [esp + 0x90], 0x158c1b83
mov dword [esp + 0x94], 0x11871788
mov dword [esp + 0x98], 0xd9f1399
mov dword [esp + 0x9c], 0x9b30fa8
mov dword [esp + 0xa0], 0x5980b87
mov dword [esp + 0xa4], 0x1990796
mov dword [esp + 0xa8], 0xfd8e0396
mov dword [esp + 0xac], 0xf961ff52
mov dword [esp + 0xb0], 0xf577fb6a
mov dword [esp + 0xb4], 0xf167f76f
mov dword [esp + 0xb8], 0xed56f366
mov dword [esp + 0xbc], 0xe978ef43
mov dword [esp + 0xc0], 0xe57ceb73
mov dword [esp + 0xc4], 0xe16ae769
mov dword [esp + 0xc8], 0xdd76e343
mov dword [esp + 0xcc], 0xd9dedf48
mov dword [esp + 0xd0], 0
mov ecx, 0x99
mov edx, 0x66
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x55]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
add bl, 3
mov byte [esp + ecx - 0x55], bl
inc ecx
dec edx
cmp ecx, 0x129
jne case.default.0x420f9a
not eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x44]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043def0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x444e64]
lea esi, [esp + 0x40]
jmp dword [0x444e70]
lea eax, [esp + 0xc]
push 0
push 0
push 0
push 0
push esi
push eax
push 0
push 0
push dword [esp + 0x30]
call fcn.0043e290
add esp, 0x24
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0xc]
push 0
push 0
push 0
push 0
push esi
push eax
push 0
push 0
push dword [esp + 0x30]
call fcn.0043e290
add esp, 0x24
jmp dword [0x444e74]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444e7c]
jmp 0x421311
mov eax, 4
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x444ec4]
mov eax, dword [esp + 0xc]
mov ecx, eax
and ecx, 0x104
mov edx, eax
or eax, 0x104
imul eax, ecx
xor ecx, 0x104
and edx, 0x7ffffefb
imul edx, ecx
add eax, edx
mov esi, dword [esp + 4]
lea eax, [esi + eax*2]
push eax
push dword [esp + 4]
call fcn.00439ee0
add esp, 8
mov dword [esp], eax
lea ebp, [eax + esi*2]
xor esi, esi
xor eax, eax
cmp esi, dword [esp + 0xc]
setb al
jmp dword [eax*4 + 0x444e84]
inc esi
xor eax, eax
cmp esi, dword [esp + 0xc]
setb al
jmp dword [eax*4 + 0x444e84]
mov ebx, dword [esp + 0x40]
mov eax, ebx
inc eax
jns 0x4210c0
mov eax, 0xffffffff
jmp 0x4210c7
lea eax, [ebx*2 + 2]
push eax
call fcn.00408230
add esp, 4
mov edi, eax
mov dword [esp + 0x3c], ebx
lea eax, [esp + 0x3c]
push eax
push edi
push esi
push dword [esp + 0x1c]
call fcn.0043e000
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444e8c]
jmp dword [0x444ea4]
lea eax, [esp + 0x14]
push dword [esp + 0x10]
push 0
push 0x20019
push eax
push edi
call fcn.0043def0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444e94]
jmp dword [0x444ea4]
mov dword [esp + 4], edi
mov dword [esp + 0x38], 0x800
mov dword [esp + 0x18], 0xb925bb40
mov dword [esp + 0x1c], 0xbd2ebf2d
mov dword [esp + 0x20], 0xb155b320
mov dword [esp + 0x24], 0xb544b73f
mov dword [esp + 0x28], 0xa939ab53
mov dword [esp + 0x2c], 0xadaeaf33
mov dword [esp + 0x30], 0
mov eax, 0x36c87e5f
mov ecx, 0x493781a0
nop
nop
movzx edx, byte [esp + eax - 0x36c87e47]
mov edi, ecx
and edi, 0x4107010c
mov ebx, eax
and ebx, 0x26887c33
or ebx, edi
xor ebx, edx
lea edx, [ebx + ebx]
and edx, 0x48
xor ebx, 0x97
xor edx, 8
sub edx, ebx
mov byte [esp + eax - 0x36c87e47], dl
inc eax
dec ecx
cmp eax, 0x36c87e7b
jne 0x421180
lea eax, [esp + 0x38]
lea ecx, [esp + 0x18]
push eax
lea eax, [esp + 0x48]
push eax
push 0
push ecx
push dword [esp + 0x24]
call fcn.0043e860
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444e9c]
jmp 0x42121b
movzx eax, word [esp + 0x44]
test ax, ax
je 0x421212
lea ecx, [esp + 0x46]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421200
mov word [ebp], 0xa
add ebp, 2
mov eax, dword [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 0x18], 0x80b0a0d
mov word [esp + 0x1c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0x18]
mov ebx, ecx
and ebx, 3
mov edx, ecx
or edx, 0x89971d83
add edx, ebx
mov ebx, edx
and ebx, eax
add ebx, ebx
sub edx, ebx
add edx, eax
lea eax, [edx + edx]
and eax, 0xa018d8e0
mov ebx, edx
xor ebx, 0x500c6c70
mov edi, eax
and edi, ebx
xor ebx, eax
lea eax, [ebx + edi*2]
and edx, 1
or eax, 1
add eax, edx
mov byte [esp + ecx + 0x18], al
inc ecx
cmp ecx, 6
jne 0x421240
mov ecx, dword [0x44a7f4]
test ecx, ecx
mov edi, dword [esp + 4]
je 0x4212e0
mov edx, dword [esp + 0x18]
xor ebx, ebx
mov eax, dword [0x44a7f8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + ebx*8], 0xb62b8d10
je 0x4212c0
inc ebx
cmp ecx, ebx
jne 0x4212b0
jmp 0x4212e0
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edx
je 0x4212e0
push dword [esp + 8]
push 4
push eax
push dword [0x44a7fc]
call fcn.00439fa0
add esp, 0x10
nop
nop
nop
jmp dword [0x444ea4]
push edi
call fcn.00408240
add esp, 4
inc esi
xor eax, eax
cmp esi, dword [esp + 0xc]
setb al
jmp dword [eax*4 + 0x444e84]
mov word [ebp], 0
mov eax, ebp
sub eax, dword [esp]
sar eax, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], 0x80b0a0d
mov word [esp + 0x48], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x44]
mov ebx, ecx
and ebx, 3
mov edx, ecx
or edx, 0x89971d83
add edx, ebx
mov ebx, edx
and ebx, esi
add ebx, ebx
sub edx, ebx
add edx, esi
lea esi, [edx + edx]
and esi, 0xa018d8e0
mov ebx, edx
xor ebx, 0x500c6c70
mov edi, esi
and edi, ebx
xor ebx, esi
lea ebx, [ebx + edi*2]
and edx, 1
or ebx, 1
add ebx, edx
mov byte [esp + ecx + 0x44], bl
inc ecx
cmp ecx, 6
jne 0x421330
mov ecx, dword [0x44a7f4]
test ecx, ecx
je case.default.0x4213da
mov edx, dword [esp + 0x44]
xor esi, esi
mov ebx, dword [0x44a7f8]
cmp dword [ebx + esi*8], 0xb62b8d10
je 0x4213a0
inc esi
cmp ecx, esi
jne 0x421390
jmp case.default.0x4213da
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x4213da
push eax
push 4
push ecx
push dword [0x44a7fc]
call fcn.00439fa0
add esp, 0x10
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x44]
push eax
call fcn.0043d710
add esp, 4
cmp dword [esp + 0x44], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x444eac]
xor eax, eax
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x444ec4]
mov eax, 2
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x444ec4]
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x100
xor ecx, ecx
jmp dword [edx*4 + 0x444ecc]
xor eax, eax
mov esi, dword [esp]
cmp ebp, esi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x444edc]
movzx ecx, word [esi]
test cx, cx
je 0x42148b
lea eax, [esi + 2]
xor ebx, ebx
jmp 0x42145c
inc ebx
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42148b
cmp cx, 0x7f
jbe 0x421450
movzx edx, cx
cmp edx, 0x7ff
ja 0x421480
add ebx, 2
jmp 0x421451
cmp cx, 0xffff
je 0x421451
add ebx, 3
jmp 0x421451
mov ebp, ebx
and ebx, 1
mov dword [esp + 0x34], ebp
xor ebp, 1
lea eax, [ebx*2]
add eax, ebp
push eax
call fcn.00408230
add esp, 4
mov edi, eax
movzx esi, word [esi]
mov dword [esp + 8], eax
test si, si
je 0x421618
lea eax, [ebx*2 - 1]
add eax, ebp
mov edi, dword [esp + 8]
test eax, eax
je 0x421618
mov ecx, dword [esp]
mov edi, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, si
lea esi, [ecx + 2]
cmp bx, 0x7f
ja 0x421500
lea ebp, [edi + 1]
mov byte [edi], bl
jmp 0x4215c0
cmp ebx, 0x7ff
ja 0x421530
cmp eax, 2
jb 0x421530
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [edi], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
lea ebp, [edi + 2]
jmp 0x4215c0
mov ebp, ebx
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x4215da
cmp eax, 4
jb 0x4215da
movzx ebp, word [ecx + 2]
mov dword [esp + 4], ebp
add ecx, 4
shl ebx, 0xa
mov esi, ebp
not esi
and esi, 0xdc00
and ebp, 0x23ff
sub ebp, esi
lea esi, [ebx + ebp]
add esi, 0xfca00000
lea edx, [ebx + ebp]
add edx, 0xfca10000
mov ebx, edx
shr ebx, 0x12
add bl, 0xf0
mov byte [edi], bl
shr edx, 0xc
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
mov edx, esi
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [edi + 2], dl
mov edx, dword [esp + 4]
and dl, 0x3f
or dl, 0x80
lea ebp, [edi + 4]
mov byte [edi + 3], dl
mov esi, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add eax, edi
sub eax, ebp
mov ecx, esi
mov edi, ebp
movzx esi, word [ecx]
test si, si
je 0x421618
test eax, eax
jne 0x4214e0
jmp 0x421618
movzx ecx, bp
cmp ecx, 0xdc00
jne 0x4215e9
mov ecx, esi
jmp 0x4215c8
cmp eax, 3
jb 0x421614
mov ecx, ebx
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
mov ecx, ebx
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
lea ebp, [edi + 3]
mov byte [edi + 2], bl
jmp 0x4215c0
mov ebp, edi
jmp 0x4215c0
mov ecx, dword [esp + 0x858]
mov byte [edi], 0
mov dword [esp + 0x44], 0xadb8b649
mov dword [esp + 0x48], 0xc2b040a9
mov dword [esp + 0x4c], 0xd5d6d30a
mov byte [esp + 0x50], 0x58
mov dword [esp + 0x51], 0
mov dword [esp + 0x54], 0
mov eax, 0x49325839
mov edx, 0xb6cda7c6
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 0x493257f5]
lea esi, [eax - 0x49325800]
and esi, edi
add esi, esi
lea ebx, [eax + edi]
mov ebp, edx
sub ebp, edi
and ebp, esi
not esi
and esi, ebx
sub esi, ebp
mov edi, esi
and edi, 0x62
xor esi, 0xe2
lea ebx, [esi + edi*2]
inc bl
mov byte [esp + eax - 0x493257f5], bl
inc eax
dec edx
cmp eax, 0x4932584d
jne 0x421660
lea eax, [esp + 0x44]
push dword [esp + 0x34]
mov edi, dword [esp + 0xc]
push edi
push eax
call fcn.00409190
mov ebx, eax
mov esi, dword [esp]
jmp dword [0x444ee4]
push edi
call fcn.00408240
add esp, 4
push esi
call fcn.00436e70
add esp, 4
mov eax, ebx
add esp, 0x844
pop esi
pop edi
pop ebx
pop ebp
ret
int3
lea ecx, [esp + 0x38]
push 0x410
call fcn.00437210
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x444ef4]
mov ebx, ecx
jmp dword [0x444fa8]
mov dword [esp + 0x5c], 0xde3790a5
mov dword [esp + 0x60], 0xe8e63dd8
mov dword [esp + 0x64], 0xd4ede739
mov dword [esp + 0x68], 0xc3eaea35
mov dword [esp + 0x6c], 0xf82f36c2
mov dword [esp + 0x70], 0xcbd42a2d
mov dword [esp + 0x74], 0xc6c12ace
mov dword [esp + 0x78], 0xc22bc4df
mov dword [esp + 0x7c], 0x1ae8d2d6
mov dword [esp + 0x80], 0xfa1f05e9
mov dword [esp + 0x84], 0x5f0e1919
mov dword [esp + 0x88], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
movzx ecx, byte [esp + ecx + 0x5c]
mov eax, edi
and eax, 0x3e
mov edx, eax
not edx
add edx, edi
add edx, 0xfb818fbf
mov esi, edx
and esi, eax
xor eax, edx
lea eax, [eax + esi*2]
xor eax, ecx
mov ecx, 0xb6
sub ecx, eax
add eax, 0x6783149
and ecx, 0xca
mov edx, eax
and edx, 0x35
sub edx, ecx
mov ecx, edi
and eax, 1
xor edx, 1
lea eax, [edx + eax*2]
add al, 0xca
mov byte [esp + edi + 0x5c], al
mov eax, edi
not eax
or eax, 1
add eax, edi
or ecx, 1
add ecx, eax
inc ecx
cmp ecx, 0x30
jb case.default.0x421dd3
lea eax, [esp + 0x50]
lea ecx, [esp + 0x38]
push 0
push 0x2b
push ebx
push eax
call fcn.00437d20
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
xor eax, eax
cmp ecx, esi
sete al
jmp dword [eax*4 + 0x444efc]
mov dword [esp + 0x30], esi
mov dword [esp + 8], ecx
sub esi, ecx
sar esi, 3
mov ecx, esi
and ecx, 0x421
mov eax, esi
or esi, 0x421
imul esi, ecx
xor ecx, 0x421
and eax, 0xfffffbde
imul eax, ecx
add esi, eax
mov edi, dword [case.0x421dd3.4]
push esi
call fcn.00408230
add esp, 4
jmp edi
mov dword [esp + 0x2c], 0
lea ecx, [esp + 0x5d]
mov dword [esp + 0x48], ecx
mov ecx, eax
xor eax, eax
mov edx, dword [esp + 8]
cmp edx, dword [esp + 0x30]
setne al
mov dword [esp + 0x28], ecx
mov dword [esp + 4], ecx
jmp dword [eax*4 + 0x444f14]
mov ebx, dword [esp + 0x2c]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x444f1c]
jmp 0x42231d
add edx, 8
xor eax, eax
cmp edx, dword [esp + 0x30]
setne al
jmp dword [eax*4 + 0x444f14]
mov esi, dword [edx]
mov dword [esp + 8], edx
mov edi, dword [edx + 4]
push 0x400
push 0
push ebx
call fcn.004082b0
add esp, 0xc
lea eax, [esp + 0x18]
lea ecx, [esp + 0x38]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.00437b40
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp + 0x18]
or ecx, dword [esp + 0x1c]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x444f24]
mov eax, 1
mov edx, dword [esp + 8]
jmp dword [eax*4 + 0x444f2c]
xor eax, eax
mov edx, dword [esp + 8]
jmp dword [eax*4 + 0x444f2c]
mov byte [esp + 0x45b], 0
movzx eax, byte [esp + 0x5c]
xor edi, edi
test al, al
je 0x421f21
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x421f1f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x421f10
jmp 0x421f21
mov edi, ecx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x444f34]
movzx eax, byte [edi + 1]
inc edi
xor esi, esi
test al, al
je 0x421f51
mov ecx, edi
nop
nop
nop
nop
cmp al, 0x2e
je 0x421f4f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x421f40
jmp 0x421f51
mov esi, ecx
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x444f3c]
mov edx, esi
sub edx, edi
mov eax, edx
not eax
and eax, 1
mov ecx, edx
and ecx, 0xfffffffe
sub ecx, eax
lea ebx, [edx + edx*2]
shr ebx, 2
movzx eax, byte [edi + ecx]
cmp eax, 0x3d
je 0x421f85
cmp eax, 0x2e
jne 0x421f8a
mov ecx, ebx
dec ecx
jmp 0x421f8c
mov ecx, ebx
movzx eax, byte [edi + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x24], edx
je 0x421f9f
cmp eax, 0x2e
jne 0x421fa0
dec ecx
mov dword [esp + 0x4c], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408230
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], edi
cmp esi, edi
mov edi, dword [esp + 0x24]
je case.0x4207bd.94
xor ecx, ecx
mov esi, 2
jmp 0x421fe8
mov edx, edi
lea eax, [esi + 4]
add esi, 2
mov ecx, dword [esp + 0xc]
cmp esi, edx
mov esi, eax
mov edi, edx
jae case.0x4207bd.94
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x34]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00419140
add esp, 4
mov byte [esp + 0xc], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.00419140
add esp, 4
mov byte [esp + 3], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x30
add eax, ecx
inc eax
movzx ecx, byte [esp + 0xc]
shr eax, 4
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov byte [ecx + edx], al
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0xc], eax
cmp esi, edi
jae 0x421fd0
movzx eax, byte [ebx + esi]
push eax
call fcn.00419140
mov edx, dword [esp + 0x28]
add esp, 4
cmp al, 0x40
je 0x421fd2
mov ah, byte [esp + 3]
shl ah, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, ah
mov ebx, dword [esp + 0x14]
lea edi, [ebx + 2]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x10]
mov byte [edi + ebx + 1], cl
lea ecx, [esi + 1]
cmp ecx, edx
jae 0x421fd2
mov ecx, dword [esp + 0x34]
movzx ecx, byte [ecx + esi + 1]
push ecx
mov ebx, eax
call fcn.00419140
mov edx, dword [esp + 0x28]
add esp, 4
cmp al, 0x40
je 0x421fd2
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov byte [ecx + edi + 2], al
add edi, 3
mov dword [esp + 0xc], edi
jmp 0x421fd2
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x10]
mov byte [edi + eax], 0
jmp dword [0x444f48]
push edi
call fcn.00401000
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.00401000
add esp, 4
jmp dword [0x444f50]
mov esi, eax
lea ebx, [esp + 0x5c]
jmp dword [0x444f54]
push edi
call fcn.00408240
add esp, 4
push esi
call fcn.00401940
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444f5c]
jmp 0x422239
mov ecx, dword [case.0x421f58.12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov dword [esp + 0x18], 0x63c0f4f3
mov byte [esp + 0x1c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x18]
mov edi, edx
not edi
or edi, ecx
or edi, 0x18
mov ebx, ecx
or ebx, edx
or ebx, 0xdf336a18
add edi, edx
mov edx, 0xfffffffe
sub edx, edi
and edx, ebx
mov edi, edx
xor edi, 0x5c011278
mov ebx, edx
or ebx, 0x87
and ebx, edi
or edx, 0xa3feed87
and edi, edx
xor edx, ebx
lea edx, [edx + edi*2]
inc dl
mov byte [esp + ecx + 0x18], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 4
jbe case.default.0x4221cd
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.00401890
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444f74]
lea ebx, [esp + 0x5c]
mov edx, dword [esp + 4]
jmp 0x422209
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 4]
je 0x4221fd
inc eax
lea ebx, [esp + 0x5c]
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4221f0
jmp 0x422201
lea ebx, [esp + 0x5c]
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x5c]
test al, al
je 0x42222b
mov ecx, dword [esp + 0x48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x422220
mov byte [edx], 0xa
inc edx
mov dword [esp + 4], edx
mov al, 1
mov dword [esp + 0x2c], eax
push esi
call fcn.00401bc0
add esp, 4
mov edx, dword [esp + 8]
mov eax, dword [case.0x421dd3.11]
nop
nop
nop
nop
nop
jmp eax
xor ebx, ebx
test ecx, ecx
jne 0x422353
jmp 0x422360
mov eax, dword [esp + 4]
mov byte [eax], 0
mov dword [esp + 0x5c], 0xc3c6c9b9
mov dword [esp + 0x60], 0xffd3cacd
mov dword [esp + 0x64], 0xc0fcc2c9
mov dword [esp + 0x68], 0xf6c6e2bf
mov dword [esp + 0x6c], 0xebb5fce9
mov dword [esp + 0x70], 0xf1fff2f7
mov dword [esp + 0x74], 0xd7d2b3cf
mov word [esp + 0x78], 0x5dd0
mov dword [esp + 0x7a], 0
mov word [esp + 0x7e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x5c]
lea edx, [eax - 0x3db8fa6a]
and edx, ecx
add edx, edx
neg edx
add edx, eax
add edx, 0xc2470596
add dl, cl
add dl, 0x12
mov byte [esp + eax + 0x5c], dl
mov ecx, eax
xor ecx, 0x7ffffffe
mov edx, eax
or edx, 1
and edx, ecx
lea ecx, [eax + eax]
and ecx, 2
sub eax, ecx
lea eax, [eax + edx*2]
inc eax
cmp eax, 0x24
jb 0x4222c0
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 4]
sub esi, edx
lea eax, [esp + 0x5c]
mov ecx, dword [ebp + 8]
push esi
push edx
push eax
call fcn.00409190
mov ebx, eax
mov eax, dword [case.0x421f58.22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x444f9c]
push dword [esp + 0x28]
call fcn.00408240
add esp, 4
and bl, 1
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
test ecx, ecx
je 0x422360
cmp ecx, esi
je 0x422360
push ecx
call fcn.00408240
add esp, 4
jmp dword [0x444fa8]
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x38]
call fcn.004373c0
lea ecx, [esp + 0x38]
call fcn.004373c0
jmp dword [0x444fac]
int3
push eax
mov dword [ebp - 0x2c], esp
sub esp, 0x24
mov dword [ebp - 0x90], esp
sub esp, 8
mov dword [ebp - 0xac], esp
sub esp, 8
mov dword [ebp - 0xa8], esp
sub esp, 8
mov dword [ebp - 0xa4], esp
sub esp, 0x20
mov dword [ebp - 0x98], esp
mov dword [ebp - 0xec], 0xc36cc109
mov dword [ebp - 0xe8], 0xc752c557
mov dword [ebp - 0xe4], 0xcb66c969
mov dword [ebp - 0xe0], 0xcf7ecd60
mov dword [ebp - 0xdc], 0xb326b111
mov dword [ebp - 0xd8], 0xb7b6b51c
mov byte [ebp - 0xd4], 0
mov eax, 0x7e13c8ce
mov ecx, 0x81ec372f
nop
nop
nop
nop
nop
nop
lea edx, [ecx + 1]
mov esi, edx
or esi, 0x1d82b971
lea edi, [eax - 0x5fffffff]
or edi, 0xe27d468e
mov ebx, ecx
sub ebx, esi
mov esi, eax
sub esi, edi
movzx edi, byte [ebp + ecx + 0x7e13c7e5]
and esi, ebx
xor esi, edi
xor esi, 0xe27d468e
lea ebx, [esi + 0x7662ec0f]
mov edi, ebx
xor edi, 0xfe
or ebx, 1
and ebx, edi
mov edi, 0xf0
sub edi, esi
or edi, 1
sub ebx, edi
mov byte [ebp + ecx + 0x7e13c7e5], bl
dec eax
mov ecx, edx
cmp eax, 0x7e13c8b5
jne 0x422420
mov dword [ebp - 0x84], 0xc174c760
mov dword [ebp - 0x80], 0xcd0bc30f
mov dword [ebp - 0x7c], 0xc973cf07
mov dword [ebp - 0x78], 0xb578cb74
mov dword [ebp - 0x74], 0xb112b70f
mov dword [ebp - 0x70], 0xbd71b307
mov dword [ebp - 0x6c], 0xb976bf71
mov dword [ebp - 0x68], 0xa50cbb73
mov dword [ebp - 0x64], 0xa102a76b
mov dword [ebp - 0x60], 0xad13a31d
mov dword [ebp - 0x5c], 0xa912af62
mov dword [ebp - 0x58], 0x9569ab11
mov dword [ebp - 0x54], 0x91599726
mov dword [ebp - 0x50], 0x9d2c9334
mov dword [ebp - 0x4c], 0x990a9f3f
mov dword [ebp - 0x48], 0x85359b06
mov dword [ebp - 0x44], 0x813b8720
mov dword [ebp - 0x40], 0x8d2d831c
mov dword [ebp - 0x3c], 0x89198f2f
mov word [ebp - 0x38], 0x8b88
mov byte [ebp - 0x32], 0
mov dword [ebp - 0x36], 0
xor eax, eax
nop
nop
nop
nop
movzx ecx, byte [ebp + eax - 0x84]
mov edx, 0xce
sub edx, eax
lea esi, [eax - 0x25763ccf]
or esi, ecx
not ecx
or ecx, edx
and ecx, esi
neg ecx
mov edx, ecx
and edx, 0x76
add edx, edx
xor ecx, 9
sub ecx, edx
add cl, 2
mov byte [ebp + eax - 0x84], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x53
jb case.default.0x422584
lea ebx, [ebp - 0xec]
lea eax, [ebp - 0x84]
push ebx
push eax
call fcn.00435070
add esp, 8
mov edi, eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x444fb4]
mov eax, edi
jmp dword [0x444fbc]
mov eax, edi
jmp 0x423472
xor eax, eax
jmp 0x4225d4
xor eax, eax
test edi, edi
je 0x4225d4
cmp edi, ebx
je 0x4225d4
mov dword [ebp - 0x14], eax
mov esi, edi
jmp 0x4225b7
add esi, 8
cmp esi, ebx
je 0x4225c8
mov eax, dword [esi]
test eax, eax
je 0x4225b0
push eax
call fcn.00408240
add esp, 4
jmp 0x4225b0
push edi
call fcn.00408240
add esp, 4
mov eax, dword [ebp - 0x14]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x444fd4]
xor edi, edi
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
mov dword [ebp - 0x10], 0
xor esi, esi
jmp dword [eax*4 + 0x445014]
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov dword [esi + eax + 4], ecx
add ebx, 8
mov ecx, dword [ebp - 0x94]
mov ecx, dword [ecx + 4]
xor eax, eax
test ecx, ecx
setne al
mov edi, esi
jmp dword [eax*4 + 0x445014]
mov dword [ebp - 0x94], ecx
mov edx, ebx
mov ebx, dword [ecx]
mov esi, edx
sub esi, edi
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], edx
cmp edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
jne 0x4226ce
sub eax, edi
sar eax, 3
mov ebx, eax
shr ebx, 1
add ebx, eax
mov eax, esi
sar eax, 3
inc eax
cmp ebx, eax
ja 0x42266b
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.00408230
add esp, 4
mov esi, eax
test edi, edi
je 0x4226bc
cmp edi, dword [ebp - 0x10]
je 0x4226b3
mov edx, esi
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [edx + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, dword [ebp - 0x10]
jne 0x422690
push edi
call fcn.00408240
add esp, 4
mov edi, esi
lea eax, [esi + ebx*8]
mov ecx, esi
mov esi, dword [ebp - 0x18]
add ecx, esi
mov dword [ebp - 0x20], ecx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov dword [edi + esi], 0
mov dword [edi + esi + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax], 0
lea eax, [eax + 1]
jne 0x4226f0
push eax
mov ebx, eax
call fcn.00408230
add esp, 4
mov dword [ebp - 0x24], edi
mov dword [edi + esi], eax
mov ecx, ebx
shr ecx, 2
mov esi, dword [ebp - 0x1c]
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add eax, edx
add edx, esi
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov esi, edx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [ebp - 0x14], ebx
mov ecx, ebx
inc cl
test cl, 1
mov ebx, dword [ebp - 0x20]
jne 0x422760
mov esi, dword [ebp - 0x14]
mov ecx, esi
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
xor ecx, ecx
cmp esi, 1
je 0x422610
mov ecx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x1c]
movzx edi, byte [edx + eax - 1]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov esi, edx
shr esi, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, esi
mov ebx, edi
shl ebx, 0x1d
sar ebx, 0x1f
and ebx, 0x76dc419
mov esi, edi
shl esi, 0x1c
sar esi, 0x1f
and esi, 0xedb8832
xor esi, ebx
mov ebx, edi
shl ebx, 0x1b
sar ebx, 0x1f
and ebx, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, ebx
xor edi, esi
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp dword [ebp - 0x14], eax
jne 0x422770
not ecx
mov ebx, dword [ebp - 0x20]
jmp 0x422610
jmp dword [0x445084]
jmp dword [0x445098]
cmp dword [edi + 0x18], 3
mov ebx, 0
jne 0x422830
mov ebx, dword [edi + 0x10]
jmp 0x422830
mov edx, dword [edi]
test edx, edx
setne al
test ebx, ebx
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44509c]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x18], esi
mov eax, ebx
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x4228a1
sub ecx, ebx
inc ecx
shr ecx, 1
mov dword [ebp - 0x88], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408230
add esp, 4
mov edi, eax
movsx edx, byte [ebx]
xor ecx, ecx
test edx, edx
setne cl
mov dword [ebp - 0x90], eax
jmp dword [ecx*4 + 0x4450a4]
inc ebx
mov byte [edi], cl
inc edi
movsx edx, byte [ebx]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x4450a4]
jmp dword [0x4450b8]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x4228d3
mov ecx, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x4228ee
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [ebx + 1]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4450bc]
lea eax, [edx - 0x30]
cmp eax, 0xa
jb 0x422902
mov eax, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x422927
add edx, 0xffffffa9
mov eax, edx
shl ecx, 4
or ecx, eax
add ebx, 2
mov byte [edi], cl
inc edi
movsx edx, byte [ebx]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x4450a4]
mov byte [edi], 0
mov dword [ebp - 0x1c], 0
push 0
push 0x10
push 0
push dword [ebp - 0x8c]
call fcn.00425640
add esp, 0x10
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
setne bl
jmp dword [ebx*4 + 0x4450c4]
mov esi, dword [ecx]
mov dword [ebp - 0x1c], esi
xor esi, esi
jmp dword [esi*4 + 0x4450d4]
add ecx, 8
xor ebx, ebx
cmp ecx, dword [ebp - 0x20]
setne bl
jmp dword [ebx*4 + 0x4450c4]
mov edi, dword [ecx + 4]
mov esi, edi
shr esi, 0x1c
shl edi, 4
or edi, 1
xor esi, edx
xor edi, eax
xor ebx, ebx
or edi, esi
sete bl
jmp dword [ebx*4 + 0x4450cc]
mov esi, 1
jmp dword [esi*4 + 0x4450d4]
xor eax, eax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x4450dc]
mov esi, dword [ebp - 0xac]
mov eax, dword [ebp - 0x88]
mov dword [esi], eax
mov eax, dword [ebp - 0x90]
mov dword [esi + 4], eax
mov eax, 0xffffffff
mov edi, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xa4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x422a33
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x14e20a34
push dword [0x44a800]
call fcn.0043cf80
add esp, 8
push ebx
push 1
push 0
push 0
push edi
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4450e4]
mov eax, dword [case.0x42324e.34]
mov esi, dword [ebp - 0x18]
jmp 0x422b1f
mov ecx, dword [ebp - 0x1c]
movzx eax, byte [ecx]
test al, al
mov edi, dword [ebp - 0x18]
je 0x422a6b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x422a60
mov word [edi], 0x203a
add edi, 2
mov edx, dword [ebx]
test edx, edx
je 0x422ab1
mov eax, dword [ebx + 4]
mov ecx, edx
and ecx, 3
je 0x422ab5
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edi + esi], bl
inc esi
cmp ecx, esi
jne 0x422a90
add edi, esi
mov ecx, edx
sub ecx, esi
mov esi, edi
mov ebx, dword [ebp - 0xa4]
jmp 0x422ab7
mov esi, edi
jmp 0x422af9
mov ecx, edx
cmp edx, 4
jb 0x422af9
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [edi + 4]
mov byte [edi + 3], dl
mov edi, esi
add ecx, 0xfffffffc
jne 0x422ac0
mov byte [esi], 0xa
inc esi
push 0xbe5098bb
push dword [0x44a7e8]
call fcn.0043cf80
add esp, 8
push dword [ebx + 4]
call eax
mov al, 1
mov dword [ebp - 0x14], eax
mov eax, dword [case.0x42324e.34]
mov edi, dword [ebp - 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x4450fc]
push dword [ebp - 0x90]
call fcn.00408240
add esp, 4
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x445074]
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x445074]
mov esi, dword [ebp - 0x30]
lea eax, [esi + 1]
push eax
call fcn.00408230
add esp, 4
push 0
push esi
mov dword [ebp - 0x88], eax
push eax
push dword [ebp - 0xec]
call fcn.0043dca0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x444fec]
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x88]
mov byte [edi + esi], 0
push 0x20
call fcn.00408230
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [ebp - 0x28], eax
mov ecx, eax
push esi
push edi
call fcn.00425240
movzx eax, al
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x444ff4]
mov dword [ebp - 0x84], 0x1b0c0a37
mov dword [ebp - 0x80], 0xe1c341f
mov dword [ebp - 0x7c], 0x1b2f3b43
mov dword [ebp - 0x78], 0x24591006
mov dword [ebp - 0x74], 0x12271404
mov dword [ebp - 0x70], 0x1c1d4457
mov dword [ebp - 0x6c], 0xf3ec0c13
mov word [ebp - 0x68], 0x7df3
mov dword [ebp - 0x66], 0
mov word [ebp - 0x62], 0
mov edi, 0x65
mov ecx, 0x1a
nop
nop
movzx edx, byte [ebp + edi - 0xe9]
lea ebx, [edi + 0x81]
and ebx, edx
lea esi, [ecx + ebx*2]
add ebx, ebx
mov eax, edi
sub eax, ebx
xor esi, edx
and eax, edx
add eax, eax
sub eax, esi
add al, 0x82
mov byte [ebp + edi - 0xe9], al
inc edi
dec ecx
cmp edi, 0x89
jne case.default.0x422c9e
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x84]
push eax
call fcn.00425430
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
xor ebx, ebx
jmp dword [ecx*4 + 0x444ffc]
xor edi, edi
jmp dword [0x44501c]
mov ecx, dword [ebp - 0x28]
call fcn.004255a0
push dword [ebp - 0x28]
call fcn.00408240
add esp, 4
jmp dword [0x445024]
jmp dword [0x445024]
push dword [ebp - 0x88]
call fcn.00408240
add esp, 4
jmp case.0x422dff.2
mov ecx, dword [eax + 8]
mov eax, dword [case.0x422c9e.3]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], esi
xor edi, edi
jmp dword [0x44513c]
jmp dword [0x445154]
jmp dword [0x444fcc]
push edi
call fcn.00408240
add esp, 4
xor eax, eax
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x444fd4]
mov edi, esi
mov dword [ebp - 0x84], 0x91549f59
mov dword [ebp - 0x80], 0x9537933c
mov dword [ebp - 0x7c], 0x89089705
mov dword [ebp - 0x78], 0x8d118b2e
mov dword [ebp - 0x74], 0x81228f15
mov dword [ebp - 0x70], 0x85138325
mov dword [ebp - 0x6c], 0x7920871a
mov dword [ebp - 0x68], 0x7de37be3
mov dword [ebp - 0x64], 0x71e87fa2
mov dword [ebp - 0x60], 0x75d473d4
mov word [ebp - 0x5c], 0x7774
mov dword [ebp - 0x5a], 0
mov byte [ebp - 0x56], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + eax - 0x84]
mov esi, 0x28acf61a
sub esi, eax
lea ecx, [eax + 0xe5]
xor ecx, esi
and ecx, edx
xor ecx, esi
inc ecx
mov edx, ecx
and edx, 0x7a
add edx, edx
xor ecx, 0x85
sub ecx, edx
add cl, 2
mov byte [ebp + eax - 0x84], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x2e
jbe case.default.0x422dff
push 0
lea eax, [ebp - 0x84]
push eax
mov esi, edi
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
push ebx
push esi
call fcn.0043d8e0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444fdc]
xor edi, edi
xor ebx, ebx
jmp dword [0x44502c]
push esi
call fcn.00408240
add esp, 4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x445034]
mov dword [ebp - 0x8c], esi
lea eax, [ebp - 0x30]
push 0
push eax
push dword [ebp - 0xec]
call fcn.0043dbf0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x444fe4]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x84], 0x80b0a0d
mov word [ebp - 0x80], 0
nop
movzx edx, byte [ebp + edi - 0x84]
mov esi, edi
and esi, 3
mov ecx, edi
or ecx, 0x89971d83
add ecx, esi
mov esi, ecx
and esi, edx
add esi, esi
sub ecx, esi
add ecx, edx
lea edx, [ecx + ecx]
and edx, 0xa018d8e0
mov esi, ecx
xor esi, 0x500c6c70
mov eax, edi
mov edi, edx
and edi, esi
xor esi, edx
lea edx, [esi + edi*2]
mov edi, eax
and ecx, 1
or edx, 1
add edx, ecx
mov byte [ebp + eax - 0x84], dl
inc edi
cmp edi, 6
jne 0x422e70
mov ecx, dword [0x44a7f4]
test ecx, ecx
je 0x422efc
mov edx, dword [ebp - 0x84]
xor esi, esi
mov edi, dword [0x44a7f8]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x422ef0
inc esi
cmp ecx, esi
jne 0x422ee0
jmp 0x422efc
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423330
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x8c]
jmp dword [0x44502c]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x445034]
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x24], edi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408230
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x84], 0xff32f9dd
mov dword [ebp - 0x80], 0xe305fd6f
mov dword [ebp - 0x7c], 0xe70ae101
mov dword [ebp - 0x78], 0xeb7ae525
mov dword [ebp - 0x74], 0xef2ae978
mov dword [ebp - 0x70], 0x9306ed0d
mov dword [ebp - 0x6c], 0x97b39171
mov dword [ebp - 0x68], 0x9b6d9568
mov dword [ebp - 0x64], 0x9f7b990c
mov dword [ebp - 0x60], 0x836f9d7d
mov dword [ebp - 0x5c], 0x876a817c
mov dword [ebp - 0x58], 0x8b6d8517
mov dword [ebp - 0x54], 0x8f628969
mov dword [ebp - 0x50], 0xb3288d5e
mov dword [ebp - 0x4c], 0xb75cb154
lea eax, [ebp - 0x48]
mov word [ebp - 0x48], 0xb5b4
mov dword [ebp - 0x46], 0
mov ecx, 0x1646b2a
mov edx, 0xbe9b94d5
nop
nop
movzx edi, byte [ebp + ecx - 0x1646bae]
lea esi, [edi + edi]
not esi
add esi, edi
and esi, 0xda4682da
mov ebx, edi
not ebx
or ebx, 0x25b97d25
add edi, ebx
inc edi
or edi, esi
mov ebx, edx
and ebx, 0x9a0280da
mov esi, ecx
and esi, 0x1206925
or esi, ebx
xor esi, edi
lea ebx, [esi*2 + 0x7213d05a]
add esi, 0xb909e82d
and ebx, 2
mov edi, ebx
and edi, esi
or ebx, esi
xor ebx, 1
add ebx, edi
mov byte [ebp + ecx - 0x1646bae], bl
inc ecx
dec edx
cmp ecx, 0x1646b6c
jne 0x422fc0
lea edx, [ebp - 0x84]
mov ecx, 0xf
lea ebx, [ebp - 0xec]
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebp - 0xb0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [ebp - 0x30]
push eax
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x44a7f0]
mov edi, dword [ebp - 0x30]
test edi, edi
jns 0x42306e
mov eax, 0xffffffff
jmp 0x423071
lea eax, [edi + edi]
push eax
call fcn.00408230
add esp, 4
mov esi, eax
lea eax, [ebp - 0x30]
push eax
push edi
push esi
push 0x1e
push ebx
push 0
call dword [0x44a7f0]
lea eax, [ebp - 0x9c]
push 0x60
push 3
push 0x120089
push eax
mov dword [ebp - 0x94], esi
push esi
call fcn.0043d8e0
add esp, 0x14
not eax
shr eax, 0x1f
mov ebx, dword [ebp - 0x20]
jmp dword [eax*4 + 0x44503c]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x98]
jmp dword [0x445144]
push dword [ebp - 0x94]
mov esi, edx
call fcn.00408240
add esp, 4
mov edx, esi
mov eax, edx
and al, 1
movzx ecx, al
mov eax, esi
jmp dword [ecx*4 + 0x44514c]
push 0
mov esi, dword [ebp - 0x2c]
push esi
push dword [ebp - 0x9c]
call fcn.0043dbf0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
jmp dword [eax*4 + 0x445044]
mov edi, dword [case.0x422c9e.21]
mov esi, dword [esi]
lea ebx, [esi + 1]
nop
nop
nop
nop
nop
push ebx
call fcn.00408230
add esp, 4
jmp edi
push 0
push esi
mov dword [ebp - 0x28], eax
push eax
push dword [ebp - 0x9c]
call fcn.0043dca0
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
jmp dword [eax*4 + 0x44505c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax]
mov esi, dword [ebp - 0x28]
mov byte [esi + edi], 0
push 0x20
call fcn.00408230
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [ebp - 0xa0], eax
mov ecx, eax
push edi
push esi
call fcn.00425240
movzx eax, al
xor ecx, ecx
mov esi, dword [ebp - 0x10]
jmp dword [eax*4 + 0x445064]
mov edi, dword [ebp - 0x90]
mov dword [edi], 0x3b343adf
mov dword [edi + 4], 0x26342c07
mov dword [edi + 8], 0x3b272bf3
mov dword [edi + 0xc], 0xcce9200e
mov dword [edi + 0x10], 0x223f3c2c
mov dword [edi + 0x14], 0x2121daef
mov dword [edi + 0x18], 0x23313422
mov dword [edi + 0x1c], 0x534d34d3
mov dword [edi + 0x20], 0xe94d
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 0x44
mov edx, ecx
xor edx, 0xa2
add edx, esi
xor dl, byte [edi + ecx]
add dl, 0xd6
mov byte [edi + ecx], dl
inc ecx
add eax, 2
cmp ecx, 0x24
jne case.default.0x42324e
mov ecx, dword [ebp - 0xa0]
push edi
call fcn.00425430
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x14], 0
mov esi, dword [ebp - 0x10]
jmp dword [ecx*4 + 0x44506c]
mov eax, dword [case.0x422c9e.25]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
jmp eax
jmp dword [0x445124]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0xa0]
mov ecx, esi
call fcn.004255a0
push esi
call fcn.00408240
add esp, 4
xor edi, edi
jmp dword [0x44513c]
push dword [ebp - 0x28]
call fcn.00408240
add esp, 4
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x84], 0x80b0a0d
mov word [ebp - 0x80], 0
movzx edx, byte [ebp + edi - 0x84]
mov esi, edi
and esi, 3
mov ecx, edi
or ecx, 0x89971d83
add ecx, esi
mov esi, ecx
and esi, edx
add esi, esi
sub ecx, esi
add ecx, edx
lea edx, [ecx + ecx]
and edx, 0xa018d8e0
mov esi, ecx
xor esi, 0x500c6c70
mov eax, edi
mov edi, edx
and edi, esi
xor esi, edx
lea edx, [esi + edi*2]
mov edi, eax
and ecx, 1
or edx, 1
add edx, ecx
mov byte [ebp + eax - 0x84], dl
inc edi
cmp edi, 6
jne 0x4232b0
mov ecx, dword [0x44a7f4]
test ecx, ecx
je 0x42335f
mov edx, dword [ebp - 0x84]
xor esi, esi
mov edi, dword [0x44a7f8]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x423353
inc esi
cmp ecx, esi
jne 0x423320
jmp 0x42335f
push dword [ebp - 0x1c]
push 4
push ecx
push dword [0x44a7fc]
call fcn.00439fa0
add esp, 0x10
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x8c]
jmp dword [0x44502c]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423432
mov edi, dword [ebp - 0x98]
mov edx, dword [ebp - 0x14]
jmp dword [0x445144]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x44514c]
mov eax, dword [ebp - 0x18]
mov byte [eax], 0
mov dword [edi], 0x4d4e4fbf
mov dword [edi + 4], 0x4151564b
mov dword [edi + 8], 0x7c48464f
mov dword [edi + 0xc], 0x6a7e9eb9
mov dword [edi + 0x10], 0x95bf706f
mov dword [edi + 0x14], 0x7b657e71
mov dword [edi + 0x18], 0x5172b971
mov dword [edi + 0x1c], 0xdb6c
mov eax, 0x47097f55
movzx ecx, byte [edi + eax - 0x47097f55]
xor ecx, eax
mov edx, ecx
not edx
or edx, 0x1cd08356
add edx, ecx
mov esi, ecx
xor esi, 0x56
lea edx, [esi + edx*2]
add edx, 2
and ecx, 1
or edx, 1
add edx, ecx
mov byte [edi + eax - 0x47097f55], dl
inc eax
cmp eax, 0x47097f75
jne 0x4233c0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov ecx, dword [ebp + 8]
push edx
push eax
push edi
call fcn.00409190
jmp dword [0x445154]
push dword [ebp - 0x10]
mov esi, eax
call fcn.00408240
mov eax, esi
add esp, 4
and al, 1
mov edi, dword [ebp - 0x24]
test edi, edi
jne 0x4225a4
jmp 0x4225d4
push dword [ebp - 0x1c]
push 4
push ecx
push dword [0x44a7fc]
call fcn.00439fa0
add esp, 0x10
mov edi, dword [ebp - 0x98]
mov edx, dword [ebp - 0x14]
jmp dword [0x445144]
add eax, 8
mov dword [ebp - 0x14], 0
mov edi, dword [eax]
xor eax, eax
test edi, edi
setne al
mov esi, dword [ebp - 0x10]
jmp dword [eax*4 + 0x445074]
lea ecx, [eax + 2]
cmp word [eax], 0
jne 0x4236a8
sub eax, edi
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
jge 0x42348e
mov ecx, 0xffffffff
push ecx
call fcn.00408230
add esp, 4
mov esi, eax
mov dword [ebp - 0x84], 0x1fb91944
mov dword [ebp - 0x80], 0x63d01daf
mov dword [ebp - 0x7c], 0x67cf61ca
mov dword [ebp - 0x78], 0x6b3665cf
mov dword [ebp - 0x74], 0x6fdd69cf
mov dword [ebp - 0x70], 0x73d86dde
mov dword [ebp - 0x6c], 0x77dd71d9
mov dword [ebp - 0x68], 0x7bc07506
mov dword [ebp - 0x64], 0x7fd479dc
mov word [ebp - 0x60], 0x7d7c
mov dword [ebp - 0x5e], 0
mov byte [ebp - 0x5a], 0
mov eax, 0x5dce07ba
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [ebp + eax - 0x5dce083e]
lea edx, [eax - 0x5dce0700]
and edx, ecx
or ecx, eax
sub ecx, edx
mov edx, ecx
and edx, 0x5d
xor ecx, 0x5d
lea ecx, [ecx + edx*2]
inc cl
mov byte [ebp + eax - 0x5dce083e], cl
inc eax
cmp eax, 0x5dce07e5
jne 0x423500
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x423551
lea edx, [edi + 2]
mov eax, esi
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423540
mov word [eax], 0
movzx ecx, word [ebp - 0x84]
test cx, cx
je 0x423581
lea edx, [ebp - 0x82]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423570
mov word [eax], 0
mov eax, edi
jmp dword [0x444fc8]
mov ecx, eax
add eax, 2
cmp word [ecx], 0
jne case.0x421f58.33
sub ecx, edi
sar ecx, 1
mov edx, 0xaf286bcb
mov eax, ecx
mul edx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
lea edx, [eax + eax*8]
lea eax, [eax + edx*2]
sub ecx, eax
add ecx, ecx
push ecx
call fcn.00408230
add esp, 4
mov dword [ebp - 0x84], 0x1fb91944
mov dword [ebp - 0x80], 0x63d01daf
mov dword [ebp - 0x7c], 0x67cf61ca
mov dword [ebp - 0x78], 0x6b3665cf
mov dword [ebp - 0x74], 0x6fdd69cf
mov dword [ebp - 0x70], 0x73d86dde
mov dword [ebp - 0x6c], 0x77dd71d9
mov dword [ebp - 0x68], 0x7bc07506
mov dword [ebp - 0x64], 0x7fd479dc
mov word [ebp - 0x60], 0x7d7c
mov dword [ebp - 0x5e], 0
mov byte [ebp - 0x5a], 0
mov ecx, 0x5dce07ba
nop
nop
movzx edx, byte [ebp + ecx - 0x5dce083e]
lea esi, [ecx - 0x5dce0700]
and esi, edx
or edx, ecx
sub edx, esi
mov esi, edx
and esi, 0x5d
xor edx, 0x5d
lea edx, [edx + esi*2]
inc dl
mov byte [ebp + ecx - 0x5dce083e], dl
inc ecx
cmp ecx, 0x5dce07e5
jne 0x423620
movzx ecx, word [edi]
test cx, cx
je 0x423671
lea edx, [edi + 2]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423660
mov word [eax], 0
movzx ecx, word [ebp - 0x84]
test cx, cx
je 0x4236a1
lea edx, [ebp - 0x82]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423690
mov word [eax], 0
mov ecx, edi
mov eax, ecx
jmp 0x423472
int3
mov dword [esp + 4], 0xff709cc
mov dword [esp + 8], 0x3e50dfb
mov dword [esp + 0xc], 0x7f001f3
mov dword [esp + 0x10], 0x1bdd05e0
mov dword [esp + 0x14], 0x1fec19f9
mov dword [esp + 0x18], 0x13e41dfd
mov dword [esp + 0x1c], 0x17161199
lea esi, [esp + 0x20]
mov dword [esp + 0x20], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xc2
xor cl, byte [esp + eax + 4]
add cl, 0x36
mov byte [esp + eax + 4], cl
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [ecx + eax*2]
cmp eax, 0x20
jb 0x423880
lea edx, [esp + 0xd4]
lea eax, [esp + 4]
mov edi, edx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xf0]
xor eax, eax
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 4], 0x97d0b50
mov dword [esp + 8], 0x57b0785
mov dword [esp + 0xc], 0x18c0375
mov dword [esp + 0x10], 0x1d4e1f7c
mov dword [esp + 0x14], 0x19441b70
lea ebx, [esp + 0x18]
mov word [esp + 0x18], 0x1718
mov dword [esp + 0x1a], 0
mov byte [esp + 0x1e], 0
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x83
xor cl, byte [esp + eax + 4]
add cl, 0x71
mov byte [esp + eax + 4], cl
mov ecx, eax
not ecx
or ecx, 1
add ecx, eax
or eax, 1
add eax, ecx
inc eax
cmp eax, 0x1b
jb case.default.0x423991
lea esi, [esp + 0xbe]
lea eax, [esp + 4]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xd2]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], esi
mov eax, dword [esp + 0x44]
add eax, 2
mov dword [esp + 0x58], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x54], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x44515c]
jmp dword [0x445164]
push dword [esp + 0x44]
call fcn.00408240
add esp, 4
mov eax, dword [esp + 0x54]
and al, 1
add esp, 0xf0
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x78]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44515c]
mov dword [esp + 0x78], ecx
mov esi, dword [esp + ecx + 0x8c]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edi
cmp word [esi + edi + 2], 0
lea edi, [edi + 2]
jne 0x4239f0
mov edx, edi
sar edx, 1
mov eax, dword [esp + 0x50]
lea ecx, [edx + eax]
mov dword [esp + 0x48], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x423a21
mov eax, 0xffffffff
push eax
call fcn.00408230
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x44]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x423a51
mov edx, dword [esp + 0x58]
mov eax, ebx
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423a40
mov word [eax], 0x5c
mov dword [esp + 4], 0xc172c760
mov dword [esp + 8], 0xcd6fc351
mov dword [esp + 0xc], 0xc95acf6f
mov dword [esp + 0x10], 0xb577cb28
mov dword [esp + 0x14], 0xb115b728
mov dword [esp + 0x18], 0xbd1db32c
mov word [esp + 0x1c], 0xbfbc
mov dword [esp + 0x1e], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xb1
xor dl, byte [esp + ecx + 4]
add dl, 0x8b
mov byte [esp + ecx + 4], dl
inc ecx
cmp ecx, 0x1e
jne 0x423aa0
add eax, 2
movzx ecx, word [esi]
test cx, cx
je 0x423ae1
lea edx, [esi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423ad0
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
mov dword [esp + 0x38], esi
mov dword [esp + 0x5c], edi
je 0x423b11
lea edx, [esp + 6]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423b00
mov word [eax], 0
lea eax, [esp + 0x4c]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x90], ebx
push ebx
call fcn.0043d8e0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp], 0
jmp dword [eax*4 + 0x44516c]
mov eax, dword [case.0x4213da.226]
nop
nop
nop
nop
jmp eax
movzx edi, byte [esp]
mov eax, dword [esp + 0x80]
jmp dword [0x44523c]
push eax
call fcn.00408240
add esp, 4
mov ebp, dword [esp + 0x38]
jmp dword [edi*4 + 0x445244]
lea eax, [esp + 0x68]
push 0
push eax
push dword [esp + 0x54]
call fcn.0043dbf0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp], 0
jmp dword [eax*4 + 0x445174]
jmp dword [0x445180]
push 0
call fcn.00408230
add esp, 4
push 0
push dword [esp + 0x6c]
push eax
push dword [esp + 0x58]
call fcn.0043dca0
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x68]
lea eax, [esi + 1]
push eax
call fcn.00408230
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x58]
call fcn.0043dca0
add esp, 0x10
jmp dword [0x445188]
not eax
shr eax, 0x1f
mov dword [esp], 0
jmp dword [eax*4 + 0x44518c]
mov eax, dword [esp + 0x68]
mov byte [edi + eax], 0
push edi
call fcn.00401000
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp], 0
jmp dword [ecx*4 + 0x445194]
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], eax
push eax
call fcn.00401940
add esp, 4
mov dword [esp + 4], 0xf0f58287
mov dword [esp + 8], 0x838e848e
mov dword [esp + 0xc], 0xf88cf4ce
mov dword [esp + 0x10], 0x9b969c96
mov dword [esp + 0x14], 0xe8e5eded
mov dword [esp + 0x18], 0xe94e1
mov ecx, 0xc4
mov edx, 0x1b
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0xc0]
lea edi, [ebx + ebx]
not edi
add edi, ebx
and edi, 0x58
mov esi, edx
and esi, 0x18
mov ebp, ecx
and ebp, 0xa7
or ebp, esi
xor ebx, 0x58
or ebx, edi
xor ebx, ebp
add bl, 0x2c
mov byte [esp + ecx - 0xc0], bl
inc ecx
dec edx
cmp ecx, 0xdc
jne 0x423c80
lea ecx, [esp + 4]
push ecx
push eax
call fcn.00401a90
add esp, 8
mov ecx, 0xffffffff
mov edx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x423ce0
shr edx, 2
mov esi, ecx
not esi
and esi, 1
mov dword [esp], ecx
and ecx, 0xfffffffe
sub ecx, esi
movzx ecx, byte [eax + ecx]
cmp ecx, 0x3d
je 0x423d0d
cmp ecx, 0x2e
jne 0x423d0e
dec edx
mov esi, dword [esp]
movzx ecx, byte [eax + esi - 2]
cmp ecx, 0x3d
mov dword [esp + 0x74], eax
je 0x423d24
cmp ecx, 0x2e
jne 0x423d25
dec edx
mov dword [esp + 0x7c], edx
lea eax, [edx + 1]
push eax
call fcn.00408230
add esp, 4
mov dword [esp + 0x40], eax
test esi, esi
je case.0x4207bd.277
xor edi, edi
mov ebp, 2
jmp 0x423d65
mov esi, dword [esp]
lea eax, [ebp + 4]
add ebp, 2
mov edi, edx
cmp ebp, esi
mov ebp, eax
jae case.0x4207bd.277
mov esi, dword [esp + 0x74]
movzx eax, byte [esi + ebp - 2]
push eax
call fcn.00419140
add esp, 4
mov bh, al
movzx eax, byte [esi + ebp - 1]
push eax
call fcn.00419140
add esp, 4
mov bl, al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x30
add eax, ecx
inc eax
movzx ecx, bh
shr eax, 4
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x40]
mov byte [ecx + edi], al
lea edx, [edi + 1]
cmp ebp, dword [esp]
jae 0x423d50
movzx eax, byte [esi + ebp]
push eax
mov esi, edx
call fcn.00419140
mov edx, esi
add esp, 4
cmp al, 0x40
mov esi, dword [esp]
je 0x423d53
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
lea ebx, [edi + 2]
mov edx, dword [esp + 0x40]
mov byte [edx + edi + 1], cl
lea ecx, [ebp + 1]
cmp ecx, esi
jae 0x423e21
mov ecx, dword [esp + 0x74]
movzx ecx, byte [ecx + ebp + 1]
push ecx
mov byte [esp + 0x43], al
call fcn.00419140
add esp, 4
movzx ecx, byte [esp + 0x3f]
cmp al, 0x40
mov edx, ebx
je 0x423d53
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x40]
mov byte [ecx + edi + 2], al
add edi, 3
mov edx, edi
jmp 0x423d53
mov edx, ebx
jmp 0x423d53
mov ebp, dword [esp + 0x38]
jmp dword [edi*4 + 0x445244]
jmp dword [0x44524c]
mov ecx, dword [esp + 0x50]
imul ecx, dword [esp + 0x5c]
mov edx, 0xba2e8ba3
mov eax, ecx
mul edx
shr edx, 4
lea eax, [edx + edx*4]
lea eax, [edx + eax*4]
add eax, edx
sub ecx, eax
add ecx, ecx
push ecx
call fcn.00408230
add esp, 4
mov ebp, eax
mov eax, dword [esp + 0x44]
movzx eax, word [eax]
mov ecx, ebp
test ax, ax
je 0x423ea1
mov edx, dword [esp + 0x58]
mov ecx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
add edx, 2
test ax, ax
jne 0x423e90
mov word [ecx], 0x5c
mov dword [esp + 4], 0xd986dba8
mov dword [esp + 8], 0xddbbdfa9
mov dword [esp + 0xc], 0xd1aed3bb
mov dword [esp + 0x10], 0xd583d7f0
mov dword [esp + 0x14], 0xe99beba0
mov dword [esp + 0x18], 0xed89ef9e
mov dword [esp + 0x1c], 0xe199e395
mov dword [esp + 0x20], 0xe59ae78c
mov dword [esp + 0x24], 0xf970fb9f
mov dword [esp + 0x28], 0xfd82ff83
mov dword [esp + 0x2c], 0xf194f398
mov word [esp + 0x30], 0xf7f0
lea eax, [esp + 4]
mov word [eax + 0x32], 0
mov dword [eax + 0x2e], 0
mov eax, 0x5582854f
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x5582854b]
mov edx, eax
or edx, esi
lea edi, [eax - 0x55828500]
and edi, esi
sub edx, edi
mov esi, edx
and esi, 0x74
mov edi, edx
xor edi, 0x74
lea ebx, [edi + esi*2]
and edx, 1
or ebx, 1
add ebx, edx
mov byte [esp + eax - 0x5582854b], bl
inc eax
cmp eax, 0x55828583
jne 0x423f20
add ecx, 2
mov edx, dword [esp + 0x38]
movzx eax, word [edx]
test ax, ax
je 0x423f81
add edx, 2
nop
nop
nop
nop
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
add edx, 2
test ax, ax
jne 0x423f70
mov word [ecx], 0
movzx eax, word [esp + 4]
test ax, ax
je 0x423fb1
lea edx, [esp + 6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
add edx, 2
test ax, ax
jne 0x423fa0
mov edx, 0x38e38e39
mov esi, dword [esp + 0x48]
mov eax, esi
mul edx
mov word [ecx], 0
shr edx, 1
lea eax, [edx + edx*8]
sub esi, eax
add esi, esi
push esi
call fcn.00408230
add esp, 4
mov dword [esp + 4], 0x3ee012f
mov dword [esp + 8], 0x7f005e1
mov dword [esp + 0xc], 0xbe609ed
mov dword [esp + 0x10], 0xfec0de8
mov word [esp + 0x14], 0x1110
lea ecx, [esp + 4]
mov byte [ecx + 0x14], 0
mov word [ecx + 0x12], 0
mov ecx, 0xf235d540
nop
movzx edx, byte [esp + ecx + 0xdca2ac4]
xor edx, ecx
mov edi, edx
not edi
add edi, edi
and edi, 2
mov esi, 0xbb0d2a40
sub esi, edx
and esi, 0xc8d755fe
or edx, 0xfffffffe
xor edx, esi
mov esi, edx
and esi, edi
xor edx, edi
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0xdca2ac4], dl
inc ecx
cmp ecx, 0xf235d555
jne 0x424010
mov ecx, dword [esp + 0x38]
movzx edx, word [ecx]
mov ecx, eax
test dx, dx
je 0x424081
mov ecx, dword [esp + 0x38]
lea edi, [ecx + 2]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x424070
mov word [ecx], 0
movzx edx, word [esp + 4]
test dx, dx
je 0x4240b1
lea edi, [esp + 6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x4240a0
mov word [ecx], 0
mov dword [esp + 4], 0x4f4e4996
mov word [esp + 8], 0
mov ecx, 0x45ec8d12
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x45ec8d0e]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xa6
mov byte [esp + ecx - 0x45ec8d0e], dl
inc ecx
cmp ecx, 0x45ec8d18
jne 0x4240d0
lea ecx, [esp + 4]
push 0
push 0
push 0xc00000
push ecx
push ebp
push eax
push dword [esp + 0x11c]
call fcn.0041c950
add esp, 0x1c
mov ebp, dword [esp + 0x38]
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x424140
mov eax, 0xffffffff
jmp 0x424149
add eax, edx
lea eax, [eax*2 + 0x2e]
push eax
call fcn.00408230
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x44]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x424181
mov edx, dword [esp + 0x58]
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424170
mov dword [esp], esi
lea edi, [ebp + 2]
mov ecx, dword [esp + 0x5c]
lea esi, [ecx + 0x12]
mov word [eax], 0x5c
mov dword [esp + 4], 0xd986dba8
mov dword [esp + 8], 0xddbbdfa9
mov dword [esp + 0xc], 0xd1aed3bb
mov dword [esp + 0x10], 0xd583d7f0
mov dword [esp + 0x14], 0xe99beba0
mov dword [esp + 0x18], 0xed89ef9e
mov dword [esp + 0x1c], 0xe199e395
mov dword [esp + 0x20], 0xe59ae78c
mov dword [esp + 0x24], 0xf970fb9f
mov dword [esp + 0x28], 0xfd82ff83
mov dword [esp + 0x2c], 0xf194f398
mov word [esp + 0x30], 0xf7f0
lea ecx, [esp + 4]
mov word [ecx + 0x32], 0
mov dword [ecx + 0x2e], 0
mov edx, 0x5582854f
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx - 0x5582854b]
mov ebx, edx
or ebx, ecx
lea ebp, [edx - 0x55828500]
and ebp, ecx
sub ebx, ebp
mov ecx, ebx
and ecx, 0x74
mov ebp, ebx
xor ebp, 0x74
lea ecx, [ecx*2]
add ecx, ebp
and ebx, 1
or ecx, 1
add ecx, ebx
mov byte [esp + edx - 0x5582854b], cl
inc edx
cmp edx, 0x55828583
jne 0x424210
add eax, 2
mov ebp, dword [esp + 0x38]
movzx edx, word [ebp]
test dx, dx
je 0x424281
mov ebx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x424270
mov word [eax], 0
movzx edx, word [esp + 4]
test dx, dx
je 0x4242b1
lea ebx, [esp + 6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x4242a0
mov word [eax], 0
cmp dword [esp + 0x48], 0xfffffff7
jge 0x4242c2
mov esi, 0xffffffff
push esi
call fcn.00408230
add esp, 4
mov ebx, eax
mov dword [esp + 4], 0x3ee012f
mov dword [esp + 8], 0x7f005e1
mov dword [esp + 0xc], 0xbe609ed
mov dword [esp + 0x10], 0xfec0de8
mov word [esp + 0x14], 0x1110
lea eax, [esp + 4]
mov byte [eax + 0x14], 0
mov word [eax + 0x12], 0
mov eax, 0xf235d540
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0xdca2ac4]
xor ecx, eax
mov edx, ecx
not edx
add edx, edx
and edx, 2
mov esi, 0xbb0d2a40
sub esi, ecx
and esi, 0xc8d755fe
or ecx, 0xfffffffe
xor ecx, esi
mov esi, ecx
and esi, edx
xor ecx, edx
lea ecx, [ecx + esi*2]
mov byte [esp + eax + 0xdca2ac4], cl
inc eax
cmp eax, 0xf235d555
jne 0x424310
movzx ecx, word [ebp]
mov eax, ebx
test cx, cx
je 0x424371
mov eax, ebx
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x424360
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
mov esi, dword [esp]
je 0x4243a1
lea edx, [esp + 6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424390
mov word [eax], 0
mov dword [esp + 4], 0x4f4e4996
mov word [esp + 8], 0
mov eax, 0x45ec8d12
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x45ec8d0e]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xa6
mov byte [esp + eax - 0x45ec8d0e], cl
inc eax
cmp eax, 0x45ec8d18
jne 0x4243c0
lea eax, [esp + 4]
push 0
push 0
push 0xc00000
push eax
push esi
push ebx
push dword [esp + 0x11c]
call fcn.0041c950
add esp, 0x1c
jmp dword [0x445258]
mov ecx, dword [esp + 0x54]
and cl, 1
or cl, al
mov dword [esp + 0x54], ecx
jmp dword [0x44525c]
push ebx
call fcn.00408240
add esp, 4
jmp dword [0x445264]
jmp dword [0x445264]
push esi
call fcn.00408240
add esp, 4
mov ecx, dword [esp + 0x78]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44515c]
mov eax, dword [esp + 0x7c]
add eax, 0xfffffffb
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x40]
add eax, 5
mov dword [esp + 0x88], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
push 0x14e20a34
push dword [0x44a800]
call fcn.0043cf80
add esp, 8
mov esi, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
lea ecx, [esp + 0x60]
lea edx, [esp + 0x84]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov ecx, dword [case.0x422c9e.106]
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4451ac]
mov dword [esp], 0
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
jmp dword [0x4451dc]
jmp dword [0x4451e4]
jmp dword [0x4451b4]
lea eax, [ebp + 0x10]
cmp dword [esp + 0x48], 0xfffffff8
jge 0x424500
mov eax, 0xffffffff
push eax
call fcn.00408230
add esp, 4
mov edi, eax
mov dword [esp + 4], 0x43a6416f
mov dword [esp + 8], 0x476845d4
mov dword [esp + 0xc], 0x4bd249dc
mov dword [esp + 0x10], 0x4f4e4dd8
lea eax, [esp + 0x14]
mov byte [eax + 2], 0
mov word [eax], 0
lea eax, [esp + 4]
xor ecx, ecx
xor edx, edx
mov ebx, edx
and bl, 0xe0
add bl, cl
xor bl, byte [eax]
xor bl, 0x90
add bl, 0x30
mov byte [eax], bl
inc eax
add edx, 2
inc cl
cmp edx, 0x26
jne 0x424540
movzx ecx, word [esi]
mov eax, edi
test cx, cx
je 0x424581
lea edx, [esi + 2]
mov eax, edi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424570
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x4245b1
lea edx, [esp + 6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4245a0
mov word [eax], 0
mov ecx, dword [esp + 0x104]
push dword [esp + 0x60]
push dword [esp + 0x68]
push edi
call fcn.00408fe0
jmp dword [0x4451bc]
mov ecx, edi
mov dword [esp], eax
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
jmp dword [0x4451c4]
push ecx
call fcn.00408240
add esp, 4
push 0xbe5098bb
push dword [0x44a7e8]
call fcn.0043cf80
add esp, 8
push dword [esp + 0x64]
call eax
jmp dword [0x4451dc]
push dword [esp + 0x40]
call fcn.00408240
add esp, 4
jmp dword [0x4451e4]
push esi
call fcn.00401bc0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00401bc0
add esp, 4
jmp dword [0x4451f0]
jmp dword [0x445204]
push edi
call fcn.00408240
add esp, 4
nop
nop
jmp dword [0x445214]
jmp dword [0x445220]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 4], 0x80b0a0d
mov word [esp + 8], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 4]
mov esi, ecx
and esi, 3
mov edx, ecx
or edx, 0x89971d83
add edx, esi
mov esi, edx
and esi, eax
add esi, esi
sub edx, esi
add edx, eax
lea eax, [edx + edx]
and eax, 0xa018d8e0
mov esi, edx
xor esi, 0x500c6c70
mov edi, eax
and edi, esi
xor esi, eax
lea eax, [esi + edi*2]
and edx, 1
or eax, 1
add eax, edx
mov byte [esp + ecx + 4], al
inc ecx
cmp ecx, 6
jne 0x424680
mov ecx, dword [0x44a7f4]
test ecx, ecx
je case.0x422c9e.136
mov edx, dword [esp + 4]
xor edi, edi
mov ebp, dword [0x44a7f8]
nop
cmp dword [ebp + edi*8], 0xb62b8d10
je 0x4246f1
inc edi
cmp ecx, edi
jne 0x4246e0
jmp case.0x422c9e.136
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
je case.0x422c9e.136
push ebx
push 4
push ecx
push dword [0x44a7fc]
call fcn.00439fa0
add esp, 0x10
jmp case.0x422c9e.136
jmp dword [0x445228]
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], 0x80b0a0d
mov word [esp + 8], 0
xor ecx, ecx
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 4]
mov edi, ecx
and edi, 3
mov edx, ecx
or edx, 0x89971d83
add edx, edi
mov edi, edx
and edi, esi
add edi, edi
sub edx, edi
add edx, esi
lea esi, [edx + edx]
and esi, 0xa018d8e0
mov edi, edx
xor edi, 0x500c6c70
mov ebx, esi
and ebx, edi
xor edi, esi
lea ebx, [edi + ebx*2]
and edx, 1
or ebx, 1
add ebx, edx
mov byte [esp + ecx + 4], bl
inc ecx
cmp ecx, 6
jne 0x424730
mov ecx, dword [0x44a7f4]
test ecx, ecx
je 0x424710
mov edx, dword [esp + 4]
xor edi, edi
mov ebp, dword [0x44a7f8]
cmp dword [ebp + edi*8], 0xb62b8d10
je 0x4247b0
inc edi
cmp ecx, edi
jne 0x424790
jmp 0x424710
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
je 0x424710
push eax
push 4
push ecx
push dword [0x44a7fc]
call fcn.00439fa0
add esp, 0x10
jmp dword [0x445228]
lea eax, [ebp + 0x10]
cmp dword [esp + 0x48], 0xfffffff8
jge 0x4247e3
mov eax, 0xffffffff
push eax
call fcn.00408230
add esp, 4
mov dword [esp + 4], 0x43a6416f
mov dword [esp + 8], 0x476845d4
mov dword [esp + 0xc], 0x4bd249dc
mov dword [esp + 0x10], 0x4f4e4dd8
lea ecx, [esp + 0x14]
mov byte [ecx + 2], 0
mov word [ecx], 0
xor ecx, ecx
xor edx, edx
lea edi, [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, edx
and bl, 0xe0
add bl, cl
xor bl, byte [edi]
xor bl, 0x90
add bl, 0x30
mov byte [edi], bl
inc edi
add edx, 2
inc cl
cmp edx, 0x26
jne 0x424830
movzx edx, word [esi]
mov ecx, eax
test dx, dx
je 0x424871
lea edi, [esi + 2]
mov ecx, eax
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x424860
mov word [ecx], 0
movzx edx, word [esp + 4]
test dx, dx
je 0x4248a1
lea edi, [esp + 6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x424890
mov word [ecx], 0
mov ecx, dword [esp + 0x104]
push dword [esp + 0x60]
push dword [esp + 0x68]
push eax
call fcn.00408fe0
jmp case.0x422c9e.109
push eax
sub esp, 0x3c
mov dword [ebp - 0x1c], esp
sub esp, 0x44
mov esi, esp
push eax
mov dword [ebp - 0x10], esp
mov dword [esi], 0x1fdf19fd
mov dword [esi + 4], 0xe3521dac
mov dword [esi + 8], 0xe747e124
mov dword [esi + 0xc], 0xeb4be550
mov dword [esi + 0x10], 0xef32e90d
mov dword [esi + 0x14], 0xf341ed3e
mov dword [esi + 0x18], 0xf753f144
mov dword [esi + 0x1c], 0xfb5bf544
mov dword [esi + 0x20], 0xff11f95c
mov dword [esi + 0x24], 0xc31efd13
mov dword [esi + 0x28], 0xc763c177
mov dword [esi + 0x2c], 0xcb7dc573
mov dword [esi + 0x30], 0xcf7dc961
mov dword [esi + 0x34], 0xd320cd7e
mov dword [esi + 0x38], 0xd77bd168
mov dword [esi + 0x3c], 0xdbdad578
mov dword [esi + 0x40], 0
mov eax, esi
add eax, 0x40
mov dword [ebp - 0x2c], eax
mov edi, 0xfa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + edi - 0xfa]
mov ebx, edx
and ebx, edi
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
add cl, dl
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edi
add al, 0x1e
mov byte [esi + edi - 0xfa], al
inc edi
cmp edi, 0x13e
jne 0x424970
mov ecx, 0x10
mov ebx, dword [ebp - 0x1c]
mov edi, ebx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, ebx
add edi, 0x40
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [ebp - 0x10]
push edi
push 0
push 0
push 0x1f
push ebx
push 0
call dword [0x44a7f0]
mov esi, dword [edi]
test esi, esi
jns 0x4249f2
mov eax, 0xffffffff
jmp 0x4249f5
lea eax, [esi + esi]
push eax
call fcn.00408230
add esp, 4
push edi
push esi
push eax
push 0x1f
push ebx
push 0
call dword [0x44a7f0]
jmp case.0x4213da.240
mov eax, 0xffffffff
push eax
call fcn.00408230
add esp, 4
mov ebx, eax
push edi
push esi
push eax
push 0x1f
push dword [ebp - 0x10]
push 0
call dword [0x44a7f0]
jmp dword [0x445274]
push eax
sub esp, 0x3c
mov dword [ebp - 0x10], esp
sub esp, 0x44
mov esi, esp
push eax
mov dword [ebp - 0x2c], esp
push eax
mov dword [ebp - 0x44], esp
push eax
mov dword [ebp - 0x18], esp
sub esp, 0x10
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x40], esp
sub esp, 0x20
mov dword [ebp - 0x34], esp
mov dword [esi], 0x1fdf19fd
mov dword [esi + 4], 0xe3521dac
mov dword [esi + 8], 0xe747e124
mov dword [esi + 0xc], 0xeb4be550
mov dword [esi + 0x10], 0xef32e90d
mov dword [esi + 0x14], 0xf341ed3e
mov dword [esi + 0x18], 0xf753f144
mov dword [esi + 0x1c], 0xfb5bf544
mov dword [esi + 0x20], 0xff11f95c
mov dword [esi + 0x24], 0xc31efd13
mov dword [esi + 0x28], 0xc763c177
mov dword [esi + 0x2c], 0xcb7dc573
mov dword [esi + 0x30], 0xcf7dc961
mov dword [esi + 0x34], 0xd320cd7e
mov dword [esi + 0x38], 0xd77bd168
mov dword [esi + 0x3c], 0xdbdad578
mov dword [esi + 0x40], 0
mov eax, esi
add eax, 0x40
mov dword [ebp - 0x14], eax
mov edi, 0xfa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + edi - 0xfa]
mov ebx, edx
and ebx, edi
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
add cl, dl
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edi
add al, 0x1e
mov byte [esi + edi - 0xfa], al
inc edi
cmp edi, 0x13e
jne 0x424af0
mov eax, dword [ebp - 0x10]
mov edi, eax
mov ecx, 0x10
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, eax
add edi, 0x40
xor ecx, ecx
mov edx, dword [ebp - 0x14]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [ebp - 0x2c]
push edi
push 0
push 0
push 0x1f
push eax
push 0
call dword [0x44a7f0]
mov esi, dword [edi]
test esi, esi
js 0x424a10
lea eax, [esi + esi]
jmp 0x424a15
push 0x60
push 3
push 0x120089
mov esi, dword [ebp - 0x44]
push esi
push ebx
call fcn.0043d8e0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44527c]
xor eax, eax
jmp dword [0x445374]
push ebx
mov esi, eax
call fcn.00408240
mov eax, esi
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x60], ebx
push 0
mov ebx, dword [ebp - 0x18]
push ebx
push dword [esi]
call fcn.0043dbf0
add esp, 0xc
not eax
shr eax, 0x1f
xor esi, esi
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x445284]
mov edi, dword [ebx]
lea eax, [edi + 1]
push eax
call fcn.00408230
add esp, 4
push 0
push edi
mov dword [ebp - 0x54], eax
push eax
mov eax, dword [ebp - 0x44]
push dword [eax]
call fcn.0043dca0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x44528c]
mov edi, dword [ebp - 0x54]
jmp dword [0x44535c]
jmp dword [0x445368]
mov eax, dword [ecx]
mov edi, dword [ebp - 0x54]
mov byte [edi + eax], 0
mov eax, ebx
add eax, 0xb
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
lea ecx, [eax + 0x1b]
mov dword [ebp - 0x5c], ecx
inc eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x14], 0
nop
nop
mov dword [ebx], 0x92aeac96
mov dword [ebx + 4], 0x8eb588aa
mov word [ebx + 8], 0xcde7
mov byte [ebx + 0xa], 0x22
mov eax, dword [ebp - 0x2c]
mov byte [eax + 4], 0
mov dword [eax], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
and ebx, 0x16
mov edx, ecx
xor edx, 0x4b
add edx, ebx
mov ebx, dword [ebp - 0x1c]
xor dl, byte [ebx + ecx]
add dl, 0x89
mov byte [ebx + ecx], dl
inc ecx
add eax, 2
cmp ecx, 0x10
jne 0x424c80
movzx ecx, byte [ebx]
test cl, cl
je 0x424cd0
mov eax, ebx
mov dword [ebp - 0x10], edi
jmp 0x424cc0
mov edi, dword [ebp - 0x10]
inc edi
mov dword [ebp - 0x10], edi
mov eax, ebx
movzx ecx, byte [eax]
test cl, cl
je 0x424ce7
movzx edx, byte [edi]
test dl, dl
je 0x424ce0
cmp dl, cl
jne 0x424cb0
inc edi
inc eax
jmp 0x424cb9
mov dword [ebp - 0x10], edi
jmp 0x424ce7
mov dword [ebp - 0x10], 0
xor eax, eax
mov ecx, dword [ebp - 0x10]
test ecx, ecx
sete al
jmp dword [eax*4 + 0x445294]
lea edi, [ecx + 0xa]
movzx eax, byte [ecx + 0xa]
xor edx, edx
test al, al
je 0x424d22
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x424d20
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x424d10
jmp 0x424d22
mov edx, ecx
mov ecx, edx
sub ecx, edi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x44529c]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x4452a4]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x4452bc]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x4452c4]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x4452cc]
mov dword [ebp - 0x20], edx
mov eax, ecx
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], ecx
lea eax, [ecx + ecx + 2]
jns 0x424d8c
mov eax, 0xffffffff
push eax
call fcn.00408230
add esp, 4
mov ebx, eax
push dword [ebp - 0x20]
push edi
push dword [ebp - 0x18]
push eax
call fcn.0040ab70
add esp, 0x10
push 0x60
push 3
push 0x120089
push dword [ebp - 0x28]
mov dword [ebp - 0x24], ebx
push ebx
call fcn.0043d8e0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4452d4]
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
jmp dword [0x445344]
mov eax, dword [case.0x424d2e.18]
nop
nop
nop
nop
jmp eax
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x28]
push dword [ebx]
call fcn.0043dbf0
add esp, 0xc
test eax, eax
setns al
mov edx, ebx
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ecx]
cmp ebx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4452ec]
push ebx
call fcn.00408230
add esp, 4
push 0
push ebx
mov dword [ebp - 0x50], eax
push eax
mov eax, dword [ebp - 0x28]
push dword [eax]
call fcn.0043dca0
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov ecx, dword [ebp - 0x24]
jmp dword [eax*4 + 0x4452f4]
mov dword [ebp - 0x18], edx
add ecx, 2
mov edx, eax
test bx, bx
je 0x424e70
movzx ebx, word [ecx]
mov eax, ecx
cmp bx, 0x5c
je 0x424e50
mov eax, edx
jmp 0x424e50
mov ecx, dword [ebp - 0x24]
xor edx, edx
jmp dword [0x445304]
xor ecx, ecx
cmp dword [ebp - 0x18], 0
setne cl
jmp dword [ecx*4 + 0x44530c]
xor ebx, ebx
xor eax, eax
jmp 0x424ebd
jmp dword [0x445320]
mov ecx, dword [ebp - 0x24]
mov ebx, ecx
not ebx
and ebx, eax
add ebx, ebx
xor eax, ecx
sub ebx, eax
sar ebx, 1
inc ebx
mov eax, dword [ebp - 0x30]
sub eax, ebx
add eax, 0x1b
push eax
call fcn.00408230
add esp, 4
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ebx
sub dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x34]
mov dword [eax], 0xa4a2a489
mov dword [eax + 4], 0xb98fa1be
mov dword [eax + 8], 0xb29449a4
mov dword [eax + 0xc], 0x70b5b8b0
mov dword [eax + 0x10], 0xbeaeb696
mov dword [eax + 0x14], 0x4482bc8c
mov word [eax + 0x18], 0x4e43
mov byte [eax + 0x1a], 0x1a
mov ecx, dword [ebp - 0x5c]
mov dword [ecx], 0
mov byte [ecx + 4], 0
mov edx, 0x69123e8c
nop
nop
nop
nop
nop
nop
movzx eax, byte [eax + edx - 0x69123e8c]
mov dword [ebp - 0x18], eax
lea ebx, [edx - 0x69123e00]
and ebx, edx
and ebx, eax
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xbd
mul cl
mov ecx, eax
add cl, byte [ebp - 0x18]
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0x44
mov ecx, dword [ebp - 0x34]
mov byte [ecx + edx - 0x69123e8c], al
mov eax, dword [ebp - 0x34]
inc edx
cmp edx, 0x69123eac
jne 0x424f20
add edi, dword [ebp - 0x48]
movzx ecx, byte [eax]
mov ebx, dword [ebp - 0x4c]
mov eax, ebx
test cl, cl
je 0x424f9b
mov edx, dword [ebp - 0x58]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x424f90
mov byte [eax], 0
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x424fdb
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
sub ebx, edx
add ebx, 0xfffffff5
mov dword [ebp - 0x10], ebx
mov ebx, ecx
and ebx, 3
je 0x424fdf
xor edx, edx
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + edx], cl
inc edx
cmp ebx, edx
jne 0x424fbf
add eax, edx
mov ecx, dword [ebp - 0x30]
sub ecx, edx
mov edx, eax
jmp 0x424fdf
mov edx, eax
jmp 0x425022
cmp dword [ebp - 0x10], 3
jb 0x425022
mov ebx, ecx
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + 2], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
lea edx, [eax + 4]
mov byte [eax + 3], cl
mov ecx, ebx
mov eax, edx
add ecx, 0xfffffffc
jne 0x424fe5
mov byte [edx], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x40]
push dword [eax]
push dword [ebp - 0x50]
mov edi, dword [ebp - 0x4c]
push edi
call fcn.00409190
mov ecx, dword [ebp - 0x14]
and cl, 1
or cl, al
mov dword [ebp - 0x14], ecx
jmp dword [0x445324]
push edi
call fcn.00408240
add esp, 4
mov edx, dword [ebp - 0x28]
jmp dword [0x44532c]
mov edx, dword [ebp - 0x28]
jmp dword [0x44532c]
push dword [ebp - 0x50]
mov edi, edx
call fcn.00408240
mov edx, edi
add esp, 4
mov eax, dword [edx]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], 0x80b0a0d
mov word [ebp - 0x38], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ebp + ecx - 0x3c]
mov ebx, ecx
and ebx, 3
mov edx, ecx
or edx, 0x89971d83
add edx, ebx
mov ebx, edx
and ebx, edi
add ebx, ebx
sub edx, ebx
add edx, edi
lea edi, [edx + edx]
and edi, 0xa018d8e0
mov ebx, edx
xor ebx, 0x500c6c70
mov eax, edi
and eax, ebx
xor ebx, edi
lea ebx, [ebx + eax*2]
and edx, 1
or ebx, 1
add ebx, edx
mov byte [ebp + ecx - 0x3c], bl
inc ecx
cmp ecx, 6
jne 0x425090
mov ecx, dword [0x44a7f4]
test ecx, ecx
je 0x425108
mov edx, dword [ebp - 0x3c]
xor edi, edi
mov ebx, dword [0x44a7f8]
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x425100
inc edi
cmp ecx, edi
jne 0x4250f0
jmp 0x425108
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x42511a
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
jmp dword [0x445344]
jmp dword [0x44534c]
push dword [ebp - 0x10]
push 4
push ecx
push dword [0x44a7fc]
call fcn.00439fa0
add esp, 0x10
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
jmp dword [0x445344]
push dword [ebp - 0x24]
call fcn.00408240
add esp, 4
push dword [ebp - 0x24]
call fcn.00408240
add esp, 4
mov edi, dword [ebp - 0x20]
jmp dword [0x445354]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x3c], 0x80b0a0d
mov word [ebp - 0x38], 0
nop
nop
nop
nop
nop
movzx edx, byte [ebp + esi - 0x3c]
mov edi, esi
and edi, 3
mov ecx, esi
or ecx, 0x89971d83
add ecx, edi
mov edi, ecx
and edi, edx
add edi, edi
sub ecx, edi
add ecx, edx
lea edx, [ecx + ecx]
and edx, 0xa018d8e0
mov edi, ecx
xor edi, 0x500c6c70
mov ebx, edx
and ebx, edi
xor edi, edx
lea edx, [edi + ebx*2]
and ecx, 1
or edx, 1
add edx, ecx
mov byte [ebp + esi - 0x3c], dl
inc esi
cmp esi, 6
jne 0x425170
mov ecx, dword [0x44a7f4]
test ecx, ecx
mov ebx, dword [ebp - 0x60]
je 0x4251f8
mov edx, dword [ebp - 0x3c]
xor esi, esi
mov edi, dword [0x44a7f8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x4251f0
inc esi
cmp ecx, esi
jne 0x4251e0
jmp 0x4251f8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x425203
mov eax, dword [ebp - 0x14]
and al, 1
jmp dword [0x445374]
push eax
push 4
push ecx
push dword [0x44a7fc]
call fcn.00439fa0
add esp, 0x10
mov eax, dword [ebp - 0x14]
and al, 1
jmp dword [0x445374]
push edi
call fcn.00408240
add esp, 4
push edi
call fcn.00408240
add esp, 4
jmp dword [0x445370]
int3
int1
inc ecx
add byte [edx + esi*8], dl
inc ecx
add byte [eax], ah
inc ecx
add byte [eax], ah
inc ecx
add byte [eax], ah
inc ecx
add byte [edx], ah
inc ecx
add byte [edx], dl
inc ecx
add byte [ecx], ch
inc ecx
add byte [eax], dh
inc ecx
add byte [eax], dh
inc ecx
add byte [eax], dh
inc ecx
add byte [edx], dh
inc ecx
add byte [ebp - 0xe], bh
inc ecx
add byte [ecx], bl
inc ecx
add byte [eax - 0x78ffbe0e], ah
inc ecx
add byte [eax - 0x4fffbe0e], ah
inc ecx
add byte [ecx + 9], al
inc edx
add dl, cl
inc ecx
add byte [ebx + esi*8 + 0x41], bl
add byte [eax - 0xd], dh
inc ecx
add byte [ebp - 0x5fffbe0d], dl
inc ecx
add byte [eax], dh
add byte [edx], al
push ss
add dword [edx], eax
add byte [ecx], al
add dword [edx], eax
adc dword [edx], eax
inc edx
add byte [eax], al
add al, byte [edx]
inc ecx
add al, byte [edx]
invalid
add dword [edx], eax
adc dword [edx], eax
inc edx
add byte [eax], al
add al, byte [edx]
inc ecx
add al, byte [edx]
rol byte [esi], 0x42
push es
inc edx
push es
inc edx
add byte [eax + 0x1004202], dh
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x31ffbdfe], dh
add al, byte [edx]
lock add al, byte [edx]
add ax, word [edx]
jbe 4474977
inc edx
add al, bl
add eax, dword [edx]
jbe 0x444869
inc edx
add ch, ch
add eax, dword [edx]
add byte [0x2e00042], al
inc edx
add al, ah
add al, byte [edx]
in eax, dx
add eax, dword [edx]
loopne 0x444880
inc edx
add byte [edi + 2], dh
ja 0x444884
inc edx
add ah, bh
cld
add eax, dword [edx]
out 5, eax
inc edx
add ch, ch
add eax, 0x7da0042
inc edx
add al, dh
inc ecx
add byte [ecx + ecx], dh
inc edx
add byte [ecx + 9], al
inc edx
add ch, dl
or eax, 0x142a0042
inc edx
add ah, bl
or eax, 0x10100042
inc edx
add byte [ecx - 0x2fffbdf1], ah
cmovb eax, dword [eax]
hlt
cmovb eax, dword [eax]
adc byte [eax], dl
inc edx
add byte [ebx - 0x2fffbdf1], ch
cmovb eax, dword [eax]
hlt
adc eax, dword [edx]
add byte [edx + eax*2], dl
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add dh, bl
push ss
inc edx
add byte [ecx], al
add byte [eax], al
add byte [esp + edx], dl
inc edx
add al, al
or eax, 0x142a0042
inc edx
add ch, dl
or eax, 0x142a0042
inc edx
add ch, dl
or eax, 0x16c80042
inc edx
add byte [0xbf004214], bh
push ss
inc edx
add al, cl
push ss
inc edx
add byte [edi - 0x2cffbde4], dh
sbb al, 0x42
add bl, dl
sbb al, 0x42
add bl, bl
sbb al, 0x42
add dl, bl
sbb eax, 0x22520042
inc edx
add byte [eax], dl
push ds
inc edx
add byte [eax], dl
push ds
inc edx
add byte [eax], dl
push ds
inc edx
add byte [ebx], bl
push ds
inc edx
add byte [ecx + 0x1e], cl
inc edx
add byte [ebx + 0x1e], dh
inc edx
add byte [ebx + 0x1e], bl
inc edx
add byte [ecx + 0x22], ah
inc edx
add bl, al
push ds
inc edx
add al, ah
push ds
inc edx
add byte [eax + 0x1e], ah
inc edx
add ch, ch
push ds
inc edx
add byte [esi + 0x22], al
inc edx
add byte [edi], ch
pop ds
inc edx
add byte [esi + 0x22], al
inc edx
add byte [edi + 0x1f], bl
inc edx
add ch, bl
and byte [edx], al
lock and byte [edx], al
lock and byte [edx], al
jmp dword [eax]
sub al, 0x42
add bh, bl
sub al, 0x42
add al, dh
sub al, 0x42
add al, dh
sub al, 0x42
add ah, ch
and eax, 0x2cf00042
inc edx
add byte [ebp + 0x3600422c], ah
inc edx
add byte [ebp - 0x39ffbdd4], ch
sub al, 0x42
add ah, cl
sub al, 0x42
add byte [ebx + 0x2e], dl
inc edx
add byte [eax], dl
inc edx
add byte [ebx], cl
das
inc edx
add byte [ecx], bl
das
inc edx
add byte [esi - 0x44ffbddb], bl
xor byte [edx], al
int1
xor byte [edx], al
xchg edi, eax
xor al, byte [edx]
and byte [ecx], dh
inc edx
add byte [eax], dh
xor dword [edx], eax
xor byte [ecx], dh
inc edx
add byte [ebx], bh
xor dword [edx], eax
xor byte [ecx], dh
inc edx
add dl, dh
sub al, 0x42
add byte [ecx + esi + 0x42], ah
add byte [edx + 0x32], ah
inc edx
add cl, al
xor dword [edx], eax
push ebp
xor al, byte [edx]
push ebp
xor al, 66
add byte [eax], ah
sub byte [edx], al
sub byte ss:[edx], al
and byte [eax], ch
inc edx
add byte [eax], ah
sub byte [edx], al
push ebp
xor al, byte [edx]
and byte [eax], ch
inc edx
add byte [esi], dh
sub byte [edx], al
sub byte ss:[edx], al
sub byte ss:[edx], al
inc esi
sub byte [edx], al
pop ecx
sub eax, dword [edx]
pop esi
sub byte [edx], al
sub dword cs:[edx], eax
shr byte [eax], 66
add al, al
sub byte [edx], al
shr byte [eax], 0x42
add al, al
sub byte [edx], al
invalid
dec ebp
inc edx
add byte [eax + 0x4c], dl
inc edx
add byte [ebp + 0x4d], al
inc edx
add byte [eax + 0x4c], dl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebp + 0x4d], al
inc edx
add byte [ebp + 0x4d], dl
inc edx
add byte [eax + 0x4c], dl
inc edx
add byte [ebp + 0x4d], ah
inc edx
add byte [eax + 0x4c], dl
inc edx
add byte [ebp + 0x4d], dh
inc edx
add byte [eax + 0x4c], dl
inc edx
add bl, cl
dec ebp
inc edx
add bh, dl
dec ebp
inc edx
add al, ah
dec ebp
inc edx
add al, ah
dec ebp
inc edx
add dl, ah
dec ebp
inc edx
add al, ah
dec ebp
inc edx
add byte [eax + edx*2 + 0x42], dh
add byte [0x5c00424e], dl
push eax
inc edx
add byte [ebp + 0x4e], bl
inc edx
add byte [ebp + 0x4e], bl
inc edx
add byte [ebp + 0x4e], bl
inc edx
add byte [ebx + 0x4e], bh
inc edx
add byte [ebp + 0x4e], bl
inc edx
add byte [ebx - 0x5fffbdb2], cl
dec esi
inc edx
add byte [eax - 0x5fffbdb2], ah
dec esi
inc edx
add byte [eax - 0x59ffbdb2], ah
dec esi
inc edx
add byte [edx + 0x50], cl
inc edx
add byte [eax + edx*2 + 0x42], bl
add byte [ebp + 0x50], ah
inc edx
add byte [eax + edx*2 + 0x42], dh
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], bh
push edx
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx + edx*2], dl
inc edx
add byte [eax + 0x4c], dl
inc edx
add byte [ebp + 0x51], al
inc edx
add byte [edx], bh
push ecx
inc edx
add byte [eax + 0x4c], dl
inc edx
add byte [edx], bh
push ecx
inc edx
add byte [ebx], ah
dec esp
inc edx
add byte [ecx + 0x51], bl
inc edx
add byte [eax], ah
push edx
inc edx
add byte [ecx], ch
push edx
inc edx
add byte [eax], ah
push edx
inc edx
add byte [ecx + 0x51], bl
inc edx
add byte [ebx - 0x4fffbdb5], ah
dec ebx
inc edx
add byte [eax], al
add byte [eax], al
add dh, ah
cdq
lodsd eax, dword [esi]
add byte [ebx - 0x62], al
lodsd eax, dword [esi]
add byte [esi - 0x62], ah
lodsd eax, dword [esi]
add byte [ecx - 0x62], ah
lodsd eax, dword [esi]
add byte [edi + 0x7000ada0], bl
mov byte [0xa2e600ad], al
lodsd eax, dword [esi]
add byte [eax + 0x1700ada2], bl
mov dword [0xa26500ad], eax
lodsd eax, dword [esi]
add byte [esi - 0x5c], dl
lodsd eax, dword [esi]
add byte [esp - 0x53], dl
add byte [edx - 0x64ff5260], bl
movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
add byte [esi + 0x100ada5], al
cmpsb byte [esi], byte es:[edi]
lodsd eax, dword [esi]
add byte [ecx - 0x4eff525a], dh
cmpsb byte [esi], byte es:[edi]
lodsd eax, dword [esi]
add byte [eax], dh
test eax, 0xa92500ad
lodsd eax, dword [esi]
add bl, dl
scasd eax, dword es:[edi]
lodsd eax, dword [esi]
add bl, dl
scasd eax, dword es:[edi]
lodsd eax, dword [esi]
add byte [eax + esi*4], ah
lodsd eax, dword [esi]
add byte [ebx], ah
mov cl, 0xad
add byte [ecx - 0x50], cl
lodsd eax, dword [esi]
add byte [ebp + 0x6b00adb1], dl
mov al, 0xad
add byte [edx + esi*4], cl
lodsd eax, dword [esi]
add byte [ebx + 0x6300adaf], dh
mov dl, 0xad
add byte [ebx - 0x4e], ah
lodsd eax, dword [esi]
add byte [ebx - 0x5aff524e], al
mov dl, 0xad
add dl, al
mov dl, 0xad
add byte [ecx], cl
scasd eax, dword es:[edi]
lodsd eax, dword [esi]
add dl, al
mov dl, 0xad
add byte [ebx], ah
mov eax, 0xb83b00ad
lodsd eax, dword [esi]
add byte [0x2300adb8], bh
mov eax, 0xb66f00ad
lodsd eax, dword [esi]
add byte [edi - 0x4a], ch
lodsd eax, dword [esi]
add byte [ebx - 0x5cff524a], ah
mov dh, 0xad
add byte [eax - 0x27ff524a], bh
mov dh, 0xad
add byte [ebp - 0x73ff5248], dl
mov eax, 0xb8d500ad
lodsd eax, dword [esi]
add byte [edx - 0x47], dl
lodsd eax, dword [esi]
add byte [ebx - 0x28ff5247], cl
mov ecx, 0xba1c00ad
lodsd eax, dword [esi]
add dh, dh
mov ecx, 0xbb0d00ad
lodsd eax, dword [esi]
add dl, al
mov ecx, 0xc46300ad
lodsd eax, dword [esi]
add byte [0xd00adbb], ah
mov ebx, 0xb91400ad
lodsd eax, dword [esi]
add byte [0x4400adbb], cl
mov ebx, 0xc08f00ad
lodsd eax, dword [esi]
add byte [ecx - 0x56ff5240], dh
shr byte [ebp - 0x523bd100], 0
cmp ah, al
lodsd eax, dword [esi]
add byte [ecx], bl
xchg edi, eax
lodsd eax, dword [esi]
add byte [ecx - 0x5a], ah
lodsd eax, dword [esi]
add byte [ebx - 0x4e], ah
lodsd eax, dword [esi]
add byte [ebx - 0x48], al
lodsd eax, dword [esi]
add byte [ebx + 0x4000adb6], ah
les ebp, [ebp - 0x52420e00]
add dl, cl
sub ah, dl
add byte [ecx + 0x2e00d412], cl
push ds
aam 0
dec eax
sub eax, 0x21d300d4
aam 0
aad 0x2d
aam 0
xchg esp, eax
adc edx, esp
add byte [esi + ecx + 0x246700d4], bh
aam 0
out dx, al
das
aam 0
jmp 0x41452906