Function at 0x422032
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x2208
call fcn.00409370
mov dword [esp + 0x1200], 0x9bc8993c
mov dword [esp + 0x1204], 0xe7a9e5a9
mov dword [esp + 0x1208], 0xe3b1e1a9
mov dword [esp + 0x120c], 0xefbcedb0
mov dword [esp + 0x1210], 0xeb4ee9b1
mov dword [esp + 0x1214], 0xf7a5f5a9
mov dword [esp + 0x1218], 0xf3a0f1bd
mov word [esp + 0x121c], 0xfdfc
mov dword [esp + 0x121e], 0
mov dword [esp + 0x1221], 0
mov dword [esp + 0xa90], 0
mov eax, dword [esp + 0xa90]
cmp eax, 0x24
ja 0x41f7ea
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa90]
mov ecx, dword [esp + 0xa90]
movzx ecx, byte [esp + ecx + 0x1200]
lea edx, [eax + 0x723938bc]
add eax, 0xbc
or eax, edx
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x90], edx
mov eax, dword [esp + 0x90]
add al, 0xdc
mov ecx, dword [esp + 0xa90]
mov byte [esp + ecx + 0x1200], al
inc dword [esp + 0xa90]
mov eax, dword [esp + 0xa90]
cmp eax, 0x25
jb 0x41f790
lea eax, [esp + 0x48]
lea esi, [esp + 0x1200]
push 0
push 0
push 0x20019
push eax
push esi
call fcn.0043cc00
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x443eb0]
mov dword [esp + 8], esi
jmp dword [0x443eb8]
mov dword [esp + 0x90], 0xfb63f939
mov dword [esp + 0x94], 0xff6efd5f
mov dword [esp + 0x98], 0xf365f16f
mov dword [esp + 0x9c], 0xf752f563
mov dword [esp + 0xa0], 0xeb44e962
mov dword [esp + 0xa4], 0xef77ed43
mov dword [esp + 0xa8], 0xe344e170
mov dword [esp + 0xac], 0xe76de573
mov dword [esp + 0xb0], 0xdbb8d973
mov dword [esp + 0xb4], 0xdf7bdd65
mov dword [esp + 0xb8], 0xd345d14b
mov dword [esp + 0xbc], 0xd74dd571
mov dword [esp + 0xc0], 0xcb56c94d
mov dword [esp + 0xc4], 0xcfaccd53
mov dword [esp + 0xc8], 0xc357c17b
mov dword [esp + 0xcc], 0xc751c560
mov dword [esp + 0xd0], 0x3bad394d
mov dword [esp + 0xd4], 0x3f9b3dae
mov dword [esp + 0xd8], 0x339c31a1
mov dword [esp + 0xdc], 0x37a63582
mov dword [esp + 0xe0], 0x2b8e29a7
mov dword [esp + 0xe4], 0x2fb02db1
mov dword [esp + 0xe8], 0x23b52189
mov dword [esp + 0xec], 0x276f258e
mov dword [esp + 0xf0], 0x1b511973
mov dword [esp + 0xf4], 0x1f591d4d
mov dword [esp + 0xf8], 0x13561158
mov dword [esp + 0xfc], 0x17401542
mov dword [esp + 0x100], 0xb5d0945
mov dword [esp + 0x104], 0xf5f0d59
mov dword [esp + 0x108], 0x3a4015d
mov dword [esp + 0x10c], 0x7460557
mov dword [esp + 0x110], 0x7b30794e
mov dword [esp + 0x114], 0x7f2c7d39
mov dword [esp + 0x118], 0x7323712e
mov dword [esp + 0x11c], 0x77207522
mov dword [esp + 0x120], 0x6b3a6934
mov dword [esp + 0x124], 0x6f3a6d29
mov dword [esp + 0x128], 0x63296138
mov dword [esp + 0x12c], 0x67c86534
mov word [esp + 0x130], 0x5966
lea eax, [esp + 0x130]
mov byte [eax + 0xe], 0
mov dword [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0xae
ja 0x41fa91
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx edx, byte [esp + ecx + 0x90]
lea ecx, [eax + edx]
add ecx, 0x32f9193f
add eax, 0x32f9193f
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xa90], eax
mov eax, dword [esp + 0xa90]
mov ecx, eax
or ecx, 0x46
and eax, 0x46
add eax, ecx
inc al
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0xaf
jb 0x41fa20
lea edi, [esp + 0xe92]
lea eax, [esp + 0x90]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x130]
mov eax, edx
mov ecx, 1
lea edi, [esp + 0xf32]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x90], 0x338335e5
mov dword [esp + 0x94], 0xfbe318f
mov dword [esp + 0x98], 0xb810dbf
mov dword [esp + 0x9c], 0x7b209bb
mov dword [esp + 0xa0], 0x3a0058a
mov dword [esp + 0xa4], 0x1fb701ab
mov dword [esp + 0xa8], 0x1ba01dac
mov dword [esp + 0xac], 0x179119ab
mov dword [esp + 0xb0], 0x13f4159b
mov dword [esp + 0xb4], 0xefbc11c0
mov dword [esp + 0xb8], 0xeb31ed4a
mov dword [esp + 0xbc], 0xe766e961
mov dword [esp + 0xc0], 0xe35fe568
mov dword [esp + 0xc4], 0xff6ce150
mov dword [esp + 0xc8], 0xfb47fd54
mov dword [esp + 0xcc], 0xf775f974
mov dword [esp + 0xd0], 0xf345f541
mov dword [esp + 0xd4], 0xcf54f140
mov dword [esp + 0xd8], 0xcb7bcd67
mov dword [esp + 0xdc], 0xc774c978
mov dword [esp + 0xe0], 0xc34dc577
mov dword [esp + 0xe4], 0xdf20c14f
mov dword [esp + 0xe8], 0xdb67dd0d
mov dword [esp + 0xec], 0xd755d957
mov dword [esp + 0xf0], 0xd36dd569
mov dword [esp + 0xf4], 0xaf62d165
mov dword [esp + 0xf8], 0xab4cad17
mov dword [esp + 0xfc], 0xa723a907
mov dword [esp + 0x100], 0xa329a518
mov dword [esp + 0x104], 0xbf2da125
mov dword [esp + 0x108], 0xbb07bd32
mov dword [esp + 0x10c], 0xb71cb909
mov dword [esp + 0x110], 0xb33ab566
mov dword [esp + 0x114], 0x8f0ab103
mov dword [esp + 0x118], 0x8b388d39
mov dword [esp + 0x11c], 0x87058931
mov dword [esp + 0x120], 0x83558522
mov dword [esp + 0x124], 0x9f0c8109
mov dword [esp + 0x128], 0x9b2d9d2a
mov dword [esp + 0x12c], 0x972d992b
mov dword [esp + 0x130], 0x93539532
mov dword [esp + 0x134], 0x6f59915f
mov dword [esp + 0x138], 0x6bb16da5
mov dword [esp + 0x13c], 0x67b269b0
mov dword [esp + 0x140], 0x63a86596
mov dword [esp + 0x144], 0x7fad61ad
mov dword [esp + 0x148], 0x7bb37db1
mov dword [esp + 0x14c], 0x77c479b5
mov dword [esp + 0x150], 0x73aa75bb
mov dword [esp + 0x154], 0x4fb871ba
mov dword [esp + 0x158], 0x4bbc4d91
mov dword [esp + 0x15c], 0x478749ba
mov dword [esp + 0x160], 0x438845b6
mov dword [esp + 0x164], 0x5f8e419c
mov dword [esp + 0x168], 0x5b965d81
mov dword [esp + 0x16c], 0x57915990
mov dword [esp + 0x170], 0x53f0559c
mov word [esp + 0x174], 0x5152
mov dword [edx + 0x49], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0xec
ja 0x41fdcc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx ecx, byte [esp + ecx + 0x90]
lea edx, [eax - 0x178edb27]
and edx, ecx
add eax, ecx
add eax, 0xe87124d9
add edx, edx
sub eax, edx
mov dword [esp + 0xa90], eax
mov eax, dword [esp + 0xa90]
add al, 0x11
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0xed
jb 0x41fd70
lea edi, [esp + 0xf34]
lea eax, [esp + 0x90]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x174]
lea edi, [esp + 0x1018]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x90], 0x235b2d71
mov dword [esp + 0x94], 0x27502147
mov dword [esp + 0x98], 0x3b4d2557
mov dword [esp + 0x9c], 0x3f44394b
mov dword [esp + 0xa0], 0x335e3d48
mov dword [esp + 0xa4], 0x374c3163
mov dword [esp + 0xa8], 0x4b33354e
mov dword [esp + 0xac], 0x4f2b492f
mov dword [esp + 0xb0], 0x43734d20
mov dword [esp + 0xb4], 0x47744177
mov dword [esp + 0xb8], 0x5b364574
mov dword [esp + 0xbc], 0x5f2b590b
mov dword [esp + 0xc0], 0x532e5d28
mov dword [esp + 0xc4], 0x57255123
mov dword [esp + 0xc8], 0x6b06552b
mov dword [esp + 0xcc], 0x6f186938
mov dword [esp + 0xd0], 0x63186d1f
mov dword [esp + 0xd4], 0x671a6119
mov dword [esp + 0xd8], 0x7b0d6501
mov dword [esp + 0xdc], 0x7f2d7914
mov dword [esp + 0xe0], 0x73067d09
mov dword [esp + 0xe4], 0x7705710c
mov dword [esp + 0xe8], 0x8bf57507
mov dword [esp + 0xec], 0x8fc789e4
mov dword [esp + 0xf0], 0x83c98dbb
mov dword [esp + 0xf4], 0x87c181b5
mov dword [esp + 0xf8], 0x9bc085de
mov dword [esp + 0xfc], 0x9faa99a8
mov dword [esp + 0x100], 0x93a59dad
mov dword [esp + 0x104], 0x97a791a1
mov dword [esp + 0x108], 0xabce95a5
mov dword [esp + 0x10c], 0xafe8a99f
mov dword [esp + 0x110], 0xa3eaade4
mov dword [esp + 0x114], 0xa796a1e1
mov dword [esp + 0x118], 0xbb8ba594
mov dword [esp + 0x11c], 0xbf8ab988
mov dword [esp + 0x120], 0xb384bdfa
mov dword [esp + 0x124], 0xb7fcb1f1
mov dword [esp + 0x128], 0xcb81b5fe
mov dword [esp + 0x12c], 0xcfa2c982
mov word [esp + 0x130], 0xcdcc
lea eax, [esp + 0x130]
mov word [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0xab
ja 0x420070
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x890]
mov eax, dword [esp + 0x890]
movzx edx, byte [esp + eax + 0x90]
lea eax, [ecx + edx]
add eax, 0x46a803a6
add ecx, 0x46a803a6
mov esi, edx
not esi
or esi, ecx
add esi, edx
and ecx, edx
add ecx, esi
inc ecx
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esp + 0xa90], ecx
mov eax, dword [esp + 0xa90]
add al, 0x76
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0xac
jb 0x420000
lea edi, [esp + 0x115e]
lea eax, [esp + 0x90]
mov ebx, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x130]
lea edi, [esp + 0x11fe]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x90], 0x63f365d5
mov dword [esp + 0x94], 0x6ffe61cf
mov dword [esp + 0x98], 0x6bf16dff
mov dword [esp + 0x9c], 0x57c269fb
mov dword [esp + 0xa0], 0x53f055ca
mov dword [esp + 0xa4], 0x5ffa51e3
mov dword [esp + 0xa8], 0x5bcb5df4
mov dword [esp + 0xac], 0x47f359f7
mov dword [esp + 0xb0], 0x439b45e2
mov dword [esp + 0xb4], 0x4f92419e
mov dword [esp + 0xb8], 0x4be84d9e
mov dword [esp + 0xbc], 0x37d349fb
mov dword [esp + 0xc0], 0x33a035aa
mov dword [esp + 0xc4], 0x3fa131a3
mov dword [esp + 0xc8], 0x3b983dab
mov dword [esp + 0xcc], 0x27a6398a
mov dword [esp + 0xd0], 0x238e25b7
mov dword [esp + 0xd4], 0x2fb421b5
mov dword [esp + 0xd8], 0x2bb12d85
mov dword [esp + 0xdc], 0x1799298e
mov dword [esp + 0xe0], 0x1388158d
mov dword [esp + 0xe4], 0x1f811186
mov dword [esp + 0xe8], 0x1b891d8f
mov dword [esp + 0xec], 0x7df19be
mov dword [esp + 0xf0], 0x3dd05db
mov dword [esp + 0xf4], 0xfcd01d9
mov dword [esp + 0xf8], 0xbc60dc4
mov dword [esp + 0xfc], 0xf7d409da
mov dword [esp + 0x100], 0xf329f529
mov dword [esp + 0x104], 0xff2ff12d
mov dword [esp + 0x108], 0xfb50fd21
mov dword [esp + 0x10c], 0xe736f927
mov dword [esp + 0x110], 0xe33ce53e
mov dword [esp + 0x114], 0xef30e12d
mov dword [esp + 0x118], 0xeb33ed3e
mov dword [esp + 0x11c], 0xd734e93a
mov dword [esp + 0x120], 0xd30ad518
mov dword [esp + 0x124], 0xdf0ad11d
mov dword [esp + 0x128], 0xdb05dd04
mov dword [esp + 0x12c], 0xc77cd900
mov word [esp + 0x130], 0xc5c6
lea eax, [esp + 0x130]
mov word [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0xab
ja 0x4202f9
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx ecx, byte [esp + ecx + 0x90]
lea edx, [eax + 0x11]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x9cbf3911
mov dword [esp + 0xa90], eax
mov eax, dword [esp + 0xa90]
add al, 0x89
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0xac
jb 0x4202a0
lea edx, [esp + 0x10bc]
lea eax, [esp + 0x90]
mov ecx, 0x28
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x130]
lea edi, [esp + 0x115c]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x90], 0x7b8379b9
mov dword [esp + 0x94], 0x7f8e7d9f
mov dword [esp + 0x98], 0x7385718f
mov dword [esp + 0x9c], 0x77927583
mov dword [esp + 0xa0], 0xbe40982
mov dword [esp + 0xa4], 0xfea0ddb
mov dword [esp + 0xa8], 0x3fb01e8
mov dword [esp + 0xac], 0x7e305e7
mov dword [esp + 0xb0], 0x1b2b19ea
mov dword [esp + 0xb4], 0x1f221d2d
mov dword [esp + 0xb8], 0x13fc112e
mov dword [esp + 0xbc], 0x17e315c3
mov dword [esp + 0xc0], 0x2bd429e2
mov dword [esp + 0xc4], 0x2fdd2ddb
mov dword [esp + 0xc8], 0x23cc21d3
mov dword [esp + 0xcc], 0x27d625f2
mov dword [esp + 0xd0], 0x3bde39d7
mov dword [esp + 0xd4], 0x3fc03dc1
mov dword [esp + 0xd8], 0x33c531d9
mov dword [esp + 0xdc], 0x37e535de
mov dword [esp + 0xe0], 0xcb3cc9c1
mov dword [esp + 0xe4], 0xcf3dcd36
mov dword [esp + 0xe8], 0xc33dc13f
mov dword [esp + 0xec], 0xc70fc52e
mov dword [esp + 0xf0], 0xdb11d9f3
mov dword [esp + 0xf4], 0xdf19dded
mov dword [esp + 0xf8], 0xd316d118
mov dword [esp + 0xfc], 0xd7e0d5e2
mov dword [esp + 0x100], 0xebdde9e5
mov dword [esp + 0x104], 0xefdfedd9
mov dword [esp + 0x108], 0xe304e1dd
mov dword [esp + 0x10c], 0xe726e5d7
mov dword [esp + 0x110], 0xfb30f92e
mov dword [esp + 0x114], 0xffccfd39
mov dword [esp + 0x118], 0xf3c3f1ce
mov dword [esp + 0x11c], 0xf7c0f5c2
mov dword [esp + 0x120], 0x8bba8934
mov dword [esp + 0x124], 0x8fba8d49
mov dword [esp + 0x128], 0x834981b8
mov dword [esp + 0x12c], 0x876885b4
mov word [esp + 0x130], 0x9986
lea eax, [esp + 0x130]
mov dword [eax + 5], 0
mov dword [eax + 2], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0xa8
ja 0x420594
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx ecx, byte [esp + ecx + 0x90]
mov esi, eax
and esi, 0x1990edaf
xor eax, 0x1990edaf
lea eax, [eax + esi*2]
lea esi, [eax + ecx]
and eax, ecx
add eax, eax
sub esi, eax
mov dword [esp + 0xa90], esi
mov eax, dword [esp + 0xa90]
add al, 0x37
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
mov eax, dword [esp + 0x890]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp + 0x890], eax
mov eax, dword [esp + 0x890]
cmp eax, 0xa9
jb 0x420520
lea eax, [esp + 0x101a]
lea esi, [esp + 0x90]
mov ecx, 0x28
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x130]
mov ecx, 1
lea edi, [esp + 0x10ba]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xe92]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0xf34]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
xor ecx, ecx
xor eax, eax
cmp ecx, 5
setne al
jmp dword [eax*4 + 0x443ee8]
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + ecx*4 + 0x7c]
mov dword [esp + 0x90], 0xc332c130
mov dword [esp + 0x94], 0xc736c534
mov dword [esp + 0x98], 0xcb3ac938
mov dword [esp + 0x9c], 0xcf16cd3c
mov word [esp + 0xa0], 0xd1d0
lea ecx, [esp + 0x130]
mov word [ecx - 0x86], 0
mov dword [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
mov dword [esp + 0x890], 0
mov ecx, dword [esp + 0x890]
cmp ecx, 0x1b
ja 0x4206f8
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx edi, byte [esp + ecx + 0x90]
lea ecx, [esi + 0x20]
mov edx, 0x1df
sub edx, esi
sub edx, edi
add esi, edi
add esi, 0xc04d2a20
and ecx, edi
add ecx, ecx
and edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 0xa90], ecx
mov ecx, dword [esp + 0xa90]
add cl, 0x20
mov edx, dword [esp + 0x890]
mov byte [esp + edx + 0x90], cl
inc dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
cmp ecx, 0x1c
jb 0x420690
movzx ecx, word [eax]
lea edx, [esp + 0x890]
test cx, cx
je 0x420731
add eax, 2
lea edx, [esp + 0x890]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x420720
mov word [edx], 0
movzx eax, word [esp + 0x90]
test ax, ax
je 0x420761
lea ecx, [esp + 0x92]
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420750
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x70], edx
jmp dword [eax*4 + 0x443ef0]
jmp dword [0x443f04]
mov ecx, dword [esp + 0x6c]
inc ecx
mov eax, dword [case.0x420601.49]
jmp eax
xor eax, eax
cmp ecx, 5
setne al
jmp dword [eax*4 + 0x443ee8]
mov ecx, dword [esp + 0x44]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [esp + 0x70]
jmp dword [eax*4 + 0x443ef0]
mov dword [esp + 0x44], ecx
mov word [edx - 2], cx
lea eax, [esp + 0x54]
lea ecx, [esp + 0x890]
push dword [esp + 0x58]
push 0
push 0x20019
push eax
push ecx
call fcn.0043cc00
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443f08]
mov dword [esp + 0x74], 0x800
mov dword [esp + 0x50], 0x400
xor ecx, ecx
mov dword [esp + 0x1c], 0
jmp 0x420845
mov eax, dword [esp + 8]
mov word [eax], 0xa
add eax, 2
mov dword [esp + 8], eax
mov al, 1
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x14]
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0xa94]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0xa0]
push eax
mov dword [esp + 0x28], ecx
push ecx
push dword [esp + 0x6c]
call fcn.0043d340
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443f10]
jmp dword [0x443f1c]
nop
nop
nop
nop
nop
nop
jmp dword [0x443f24]
mov eax, dword [esp + 0x1c]
and al, 1
movzx ecx, al
xor eax, eax
jmp dword [ecx*4 + 0x443f28]
mov eax, dword [esp + 0x60]
mov ecx, dword [case.0x420601.20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp eax, 1
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x443f40]
movzx eax, al
jmp dword [eax*4 + 0x443f68]
xor eax, eax
cmp dword [esp + 0x60], 3
sete al
jmp dword [eax*4 + 0x443f80]
xor eax, eax
movzx eax, al
jmp dword [eax*4 + 0x443f88]
mov eax, dword [esp + 0x50]
cmp eax, 2
jb 0x420c76
shr eax, 1
lea edx, [eax - 1]
mov esi, eax
and esi, 3
je 0x420c02
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
xor edx, edx
lea ecx, [esp + 0xa90]
mov edi, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, esi
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea ecx, [ecx + ebx*2]
mov word [edi], si
mov esi, eax
add edi, 2
inc edx
cmp eax, edx
jne 0x420940
mov dword [esp + 8], edi
mov eax, dword [esp + 0x18]
sub eax, edx
mov edx, dword [esp + 0x1c]
cmp edx, 3
jae 0x420c0e
jmp 0x420c76
jmp dword [0x443f4c]
mov dword [esp + 0x20], 0x4b315511
mov dword [esp + 0x24], 0x4fd9492f
mov dword [esp + 0x28], 0x43de4dc5
mov dword [esp + 0x2c], 0x474041d6
mov dword [esp + 0x30], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x13
ja case.0x420601.25
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax - 0x739cd633]
add eax, 0xcd
or eax, edx
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
add al, 0x65
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x14
jb 0x4209c0
jmp case.0x420601.25
jmp dword [0x443f54]
mov dword [esp + 0x20], 0x4b315511
mov dword [esp + 0x24], 0x4fd9492f
mov dword [esp + 0x28], 0x43de4dc5
mov dword [esp + 0x2c], 0x474041d6
mov dword [esp + 0x30], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x13
ja 0x420a10
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax - 0x739cd633]
add eax, 0xcd
or eax, edx
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
add al, 0x65
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x14
jb 0x420a50
jmp 0x420a10
xor esi, esi
test esi, esi
setne al
jmp dword [0x443f60]
movzx ebx, word [esp + 0x20]
lea esi, [esp + 0x90]
test bx, bx
je 0x420aa2
lea ecx, [esp + 0x20]
lea esi, [esp + 0x90]
mov eax, esi
jmp 0x420ad8
movzx ebx, word [ecx]
test bx, bx
je 0x420aa2
movzx edi, word [eax]
test di, di
je 0x420aa0
add eax, 2
add ecx, 2
lea edx, [esi + 2]
cmp di, bx
je 0x420af2
mov esi, edx
mov eax, edx
je 0x420ad0
lea ecx, [esp + 0x20]
jmp 0x420ad0
mov dword [esp + 0x20], 0x83238156
mov dword [esp + 0x24], 0x9f119d0f
mov dword [esp + 0x28], 0x9b299917
mov dword [esp + 0x2c], 0x97289528
mov word [esp + 0x30], 0x9196
lea eax, [esp + 0x32]
mov dword [eax + 3], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x18
ja 0x420b9e
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax + ecx]
add edx, 0x8b1ad3eb
add eax, 0x8b1ad3eb
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
mov ecx, eax
xor ecx, 0x92
and eax, 0x12
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x19
jb 0x420b50
movzx ebx, word [esp + 0x20]
lea eax, [esp + 0x90]
test bx, bx
je 0x420ca9
lea ecx, [esp + 0x20]
lea eax, [esp + 0x90]
mov edx, eax
jmp 0x420bdc
movzx ebx, word [ecx]
test bx, bx
je 0x420ca9
movzx edi, word [edx]
test di, di
je 0x420ca7
add edx, 2
add ecx, 2
lea esi, [eax + 2]
cmp di, bx
je 0x420bfa
mov eax, esi
mov edx, esi
je 0x420bd0
lea ecx, [esp + 0x20]
jmp 0x420bd0
lea ecx, [esp + 0xa90]
cmp edx, 3
jb 0x420c76
mov esi, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi], dx
lea edx, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [esi + 2], cx
lea ecx, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 4], dx
lea edx, [ecx + ebx*2]
movzx edi, word [ecx + ebx*2]
xor ecx, ecx
test di, di
setne cl
lea ecx, [edx + ecx*2]
mov word [esi + 6], di
add esi, 8
add eax, 0xfffffffc
jne 0x420c20
mov dword [esp + 8], esi
mov eax, dword [case.0x420601.37]
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 8]
mov word [eax], 0x3a
mov ecx, dword [esp + 0x14]
mov word [eax + 2], 0x20
add eax, 4
mov dword [esp + 8], eax
mov al, 1
mov dword [esp + 0x1c], eax
jmp 0x42083a
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443f88]
mov eax, dword [esp + 0x50]
cmp eax, 2
jb 0x420820
shr eax, 1
lea edx, [eax - 1]
mov esi, eax
and esi, 3
je 0x420d26
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edx
xor edx, edx
lea ecx, [esp + 0xa90]
mov edi, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, esi
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea ecx, [ecx + ebx*2]
mov word [edi], si
mov esi, eax
add edi, 2
inc edx
cmp eax, edx
jne 0x420cf0
mov dword [esp + 8], edi
mov eax, dword [esp + 0x10]
sub eax, edx
mov edx, dword [esp + 0x18]
cmp edx, 3
jb 0x420820
jmp 0x420d36
lea ecx, [esp + 0xa90]
cmp edx, 3
jb 0x420820
mov esi, dword [esp + 8]
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi], dx
lea edx, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [esi + 2], cx
lea ecx, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 4], dx
lea edx, [ecx + ebx*2]
movzx edi, word [ecx + ebx*2]
xor ecx, ecx
test di, di
setne cl
lea ecx, [edx + ecx*2]
mov word [esi + 6], di
add esi, 8
add eax, 0xfffffffc
jne 0x420d40
mov dword [esp + 8], esi
jmp 0x420820
jmp dword [0x443f90]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x20], 0xfaf9f807
lea ecx, [esp + 0x32]
mov byte [ecx - 6], 0
mov dword [ecx - 0xa], 0
mov dword [ecx - 0xe], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xc
ja 0x420e21
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x20]
lea esi, [ecx + 0x4b477aff]
and esi, edx
add ecx, edx
add ecx, 0x4b477aff
add esi, esi
sub ecx, esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 7
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xd
jb 0x420de0
mov ecx, dword [0x448ad4]
test ecx, ecx
je case.0x420601.42
mov edx, dword [esp + 0x20]
xor edi, edi
mov ebx, dword [0x448ad8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x420e50
inc edi
cmp ecx, edi
jne 0x420e40
jmp case.0x420601.42
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x420601.42
push eax
push 1
push dword [0x448adc]
push ecx
call fcn.00439d10
add esp, 0x10
jmp case.0x420601.42
jmp dword [0x443f9c]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x20], 0xfaf9f807
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov byte [esp + 0x2c], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xc
ja 0x420ef1
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x20]
lea esi, [ecx + 0x4b477aff]
and esi, edx
add ecx, edx
add ecx, 0x4b477aff
add esi, esi
sub ecx, esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 7
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xd
jb 0x420eb0
mov ecx, dword [0x448ad4]
test ecx, ecx
je 0x420e70
mov edx, dword [esp + 0x20]
xor edi, edi
mov ebx, dword [0x448ad8]
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x420f30
inc edi
cmp ecx, edi
jne 0x420f10
jmp 0x420e70
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x420e70
push eax
push 1
push dword [0x448adc]
push ecx
call fcn.00439d10
add esp, 0x10
jmp 0x420e70
jmp dword [0x443fb4]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x90], 0xfaf9f807
lea ecx, [esp + 0x130]
mov byte [ecx - 0x94], 0
mov dword [ecx - 0x98], 0
mov dword [ecx - 0x9c], 0
mov dword [esp + 0x890], 0
mov ecx, dword [esp + 0x890]
cmp ecx, 0xc
ja 0x42100c
nop
nop
mov ecx, dword [esp + 0x890]
mov edx, dword [esp + 0x890]
movzx edx, byte [esp + edx + 0x90]
lea esi, [ecx + 0x4b477aff]
and esi, edx
add ecx, edx
add ecx, 0x4b477aff
add esi, esi
sub ecx, esi
mov dword [esp + 0xa90], ecx
mov ecx, dword [esp + 0xa90]
add cl, 7
mov edx, dword [esp + 0x890]
mov byte [esp + edx + 0x90], cl
inc dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
cmp ecx, 0xd
jb 0x420fb0
mov ecx, dword [0x448ad4]
test ecx, ecx
je case.0x420601.51
mov edx, dword [esp + 0x90]
xor edi, edi
mov ebx, dword [0x448ad8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x421040
inc edi
cmp ecx, edi
jne 0x421030
jmp case.0x420601.51
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x420601.51
push eax
push 1
push dword [0x448adc]
push ecx
call fcn.00439d10
add esp, 0x10
jmp case.0x420601.51
jmp dword [0x443fb8]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x90], 0xfaf9f807
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov byte [esp + 0x9c], 0
mov dword [esp + 0x890], 0
mov ecx, dword [esp + 0x890]
cmp ecx, 0xc
ja 0x42110c
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x890]
mov edx, dword [esp + 0x890]
movzx edx, byte [esp + edx + 0x90]
lea esi, [ecx + 0x4b477aff]
and esi, edx
add ecx, edx
add ecx, 0x4b477aff
add esi, esi
sub ecx, esi
mov dword [esp + 0xa90], ecx
mov ecx, dword [esp + 0xa90]
add cl, 7
mov edx, dword [esp + 0x890]
mov byte [esp + edx + 0x90], cl
inc dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
cmp ecx, 0xd
jb 0x4210b0
mov ecx, dword [0x448ad4]
test ecx, ecx
je 0x421060
mov edx, dword [esp + 0x90]
xor edi, edi
mov ebx, dword [0x448ad8]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x421150
inc edi
cmp ecx, edi
jne 0x421130
jmp 0x421060
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x421060
push eax
push 1
push dword [0x448adc]
push ecx
call fcn.00439d10
add esp, 0x10
jmp dword [0x443fb8]
mov edi, dword [esp + 0x64]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x421192
mov eax, 0xffffffff
push eax
call fcn.004093a0
add esp, 4
mov esi, eax
mov dword [esp + 0x78], edi
lea eax, [esp + 0x78]
push eax
push esi
push dword [esp + 0x54]
push dword [esp + 0x54]
call fcn.0043cd40
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443ed8]
lea eax, [esp + 0x58]
push dword [esp + 0x48]
push 0
push 0x20019
push eax
mov dword [esp + 0x78], esi
push esi
call fcn.0043cc00
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443ee0]
mov eax, dword [esp + 0x68]
jmp dword [0x443fc0]
push eax
call fcn.004093b0
add esp, 4
mov eax, dword [case.0x420601.61]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0x4c]
inc ecx
xor eax, eax
mov dword [esp + 0x4c], ecx
cmp ecx, dword [esp + 0x5c]
setb al
jmp dword [eax*4 + 0x443ed0]
mov eax, dword [esp + 8]
mov word [eax], 0
mov eax, dword [esp + 0x10]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x443fe0]
movzx ecx, word [esp + 0x1200]
xor ebx, ebx
test cx, cx
je 0x421387
lea eax, [esp + 0x1200]
jmp 0x42126e
add ebx, esi
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x421298
cmp eax, dword [esp + 8]
jae 0x421298
movzx edi, cx
xor ecx, ecx
cmp edi, 0x800
setb dl
mov esi, 1
cmp edi, 0x80
jb 0x421260
mov cl, dl
xor ecx, 3
mov esi, ecx
jmp 0x421260
lea edi, [ebx + 1]
push edi
call fcn.004093a0
add esp, 4
mov ecx, eax
test ebx, ebx
mov dword [esp + 0x44], eax
jle 0x421399
lea eax, [ecx + ebx]
mov dword [esp + 0x1c], eax
add edi, ecx
mov dword [esp + 0x10], edi
lea edx, [esp + 0x1200]
mov edi, ecx
mov esi, dword [esp + 8]
jmp 0x4212eb
mov byte [edi], cl
mov dword [esp + 0x14], 1
add edx, 2
add edi, dword [esp + 0x14]
cmp edi, dword [esp + 0x1c]
jae 0x42139b
cmp edx, esi
jae 0x42139b
movzx ecx, word [edx]
test cx, cx
je 0x42139b
cmp cx, 0x7f
jbe 0x4212d0
mov eax, edi
not eax
add eax, dword [esp + 0x10]
movzx esi, cx
cmp eax, 2
jb 0x42133d
cmp esi, 0x7ff
ja 0x42133d
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov dword [esp + 0x14], 2
mov esi, dword [esp + 8]
jmp 0x4212da
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0
cmp eax, 3
mov esi, dword [esp + 8]
jb 0x4212da
mov eax, dword [esp + 0x18]
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov esi, dword [esp + 8]
shr dword [esp + 0x18], 6
mov eax, dword [esp + 0x18]
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
and cl, 0x3f
or cl, 0x80
mov byte [edi + 2], cl
mov dword [esp + 0x14], 3
jmp 0x4212da
push 1
call fcn.004093a0
add esp, 4
mov edi, eax
mov dword [esp + 0x44], eax
jmp 0x42139b
mov edi, ecx
mov byte [edi], 0
mov dword [esp + 0x90], 0x676869c5
mov dword [esp + 0x94], 0x6b5f5861
mov dword [esp + 0x98], 0x666e6065
mov dword [esp + 0x9c], 0x636344a3
mov dword [esp + 0xa0], 0x7679786a
mov dword [esp + 0xa4], 0x7e7e5dbb
mov dword [esp + 0xa8], 0x447c7a48
mov dword [esp + 0xac], 0x6f70bb77
mov word [esp + 0xb0], 0xd972
mov dword [esp + 0xb2], 0
mov dword [esp + 0xb6], 0
mov byte [esp + 0xba], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0x2a
ja 0x4214a5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx edx, byte [esp + ecx + 0x90]
lea ecx, [eax + edx]
add ecx, 0xccf143f
add eax, 0xccf143f
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xa90], eax
mov eax, dword [esp + 0xa90]
add al, 0x47
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0x2b
jb 0x421440
lea eax, [esp + 0x90]
mov ecx, dword [ebp + 8]
push ebx
mov esi, dword [esp + 0x48]
push esi
push eax
call fcn.00409cb0
mov dword [esp + 0x10], eax
jmp dword [0x443fe8]
jmp dword [0x443ff4]
push esi
call fcn.004093b0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.004093b0
add esp, 4
jmp dword [0x443ff8]
mov eax, dword [esp + 0x10]
and al, 1
jmp 0x42151b
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x4c], 0
cmp ecx, dword [esp + 0x5c]
setb al
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x443ed0]
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443ec8]
lea eax, [esp + 0x64]
lea ecx, [esp + 0x5c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x68]
call fcn.0043d010
add esp, 0x24
lea eax, [esp + 0x64]
lea ecx, [esp + 0x5c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x68]
call fcn.0043d010
add esp, 0x24
jmp dword [0x443ec4]
xor edx, edx
test eax, eax
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4446cc]
jmp dword [ecx*4 + 0x444624]
mov dword [esp + 0x58], 0x530251f2
mov dword [esp + 0x5c], 0x5f155d1d
mov dword [esp + 0x60], 0x5b055915
mov dword [esp + 0x64], 0xa7f6a506
mov dword [esp + 0x68], 0xa304a1fd
mov dword [esp + 0x6c], 0xafefadf5
mov dword [esp + 0x70], 0xabe0a9e3
mov dword [esp + 0x74], 0xb7e2b5e1
mov dword [esp + 0x78], 0xb314b1f9
mov dword [esp + 0x7c], 0xbfedbdef
mov dword [esp + 0x80], 0xbbe4b9f0
mov dword [esp + 0x84], 0x87c785e3
mov dword [esp + 0x88], 0x83cf81d4
mov dword [esp + 0x8c], 0x8fdb8d26
mov dword [esp + 0x90], 0x8b258925
mov dword [esp + 0x94], 0x97259538
mov dword [esp + 0x98], 0x9321912b
mov dword [esp + 0x9c], 0x9f209d3c
mov dword [esp + 0xa0], 0x9bc1993a
mov dword [esp + 0xa4], 0xe752e531
mov dword [esp + 0xa8], 0xe351e14a
mov dword [esp + 0xac], 0xef51ed5b
mov dword [esp + 0xb0], 0xeba5e94a
mov dword [esp + 0xb4], 0xf746f555
mov dword [esp + 0xb8], 0xf35ff144
mov dword [esp + 0xbc], 0xff40fd44
mov dword [esp + 0xc0], 0xfb57f9a0
mov dword [esp + 0xc4], 0xc779c548
mov dword [esp + 0xc8], 0xc371c16d
mov dword [esp + 0xcc], 0xcf68cd74
mov dword [esp + 0xd0], 0xcb7ec991
mov dword [esp + 0xd4], 0xd762d561
mov dword [esp + 0xd8], 0xd36cd16b
mov dword [esp + 0xdc], 0xdf68dd71
mov dword [esp + 0xe0], 0xdbd8d96a
lea ecx, [esp + 0xe4]
mov byte [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0x94
ja 0x421b25
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x58]
lea esi, [ecx + edx]
add esi, 0x2d5b5cf3
add ecx, 0x2d5b5cf3
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0x20]
add cl, 0x5b
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x58], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0x95
jb 0x421ae0
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x58]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043cc00
add esp, 0x14
mov ecx, dword [case.0x420601.78]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
shr eax, 0x1f
jmp dword [eax*4 + 0x44463c]
lea eax, [esp + 0x54]
lea ecx, [esp + 0x18]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x3c]
call fcn.0043d010
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444644]
jmp 0x421edb
mov eax, 4
jmp 0x42201d
mov eax, dword [esp + 0x10]
jmp dword [0x444650]
mov esi, dword [esp + 0x18]
mov ecx, esi
and ecx, 0x7ffffefb
mov edx, esi
and edx, 0x104
or esi, 0x104
imul esi, edx
xor edx, 0x104
imul edx, ecx
add esi, edx
lea edi, [edi + esi*2]
push edi
push eax
call fcn.00439c20
add esp, 8
nop
mov esi, edi
mov edx, dword [esp + 0x18]
mov ecx, edx
shl ecx, 9
lea edi, [ecx + edx*8]
add edi, esi
push edi
push eax
call fcn.00439c20
add esp, 8
jmp dword [0x444654]
mov dword [esp + 0x10], eax
lea ebx, [eax + esi*2]
xor esi, esi
xor eax, eax
cmp esi, dword [esp + 0x18]
setb al
jmp dword [eax*4 + 0x44465c]
inc esi
xor eax, eax
cmp esi, dword [esp + 0x18]
setb al
jmp dword [eax*4 + 0x44465c]
mov edi, dword [esp + 0x54]
mov eax, edi
inc eax
jns 0x421c50
mov eax, 0xffffffff
jmp 0x421c56
lea eax, [edi + edi]
add eax, 2
push eax
call fcn.004093a0
add esp, 4
mov dword [esp + 0x50], edi
mov edi, eax
lea eax, [esp + 0x50]
push eax
push edi
push esi
push dword [esp + 0x28]
call fcn.0043cd40
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444664]
jmp dword [0x44467c]
lea eax, [esp + 0x44]
push dword [esp + 0x1c]
push 0
push 0x20019
push eax
push edi
call fcn.0043cc00
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44466c]
jmp dword [0x44467c]
mov dword [esp + 0x4c], 0x800
mov dword [esp + 0x20], 0xb32bb174
mov dword [esp + 0x24], 0xb726b527
mov dword [esp + 0x28], 0xab0ba934
mov dword [esp + 0x2c], 0xaf10ad25
mov dword [esp + 0x30], 0xa33fa101
mov dword [esp + 0x34], 0xa7a6a501
mov word [esp + 0x38], 0
mov byte [esp + 0x3a], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x1a
ja 0x421d68
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax + ecx]
add eax, 0x48
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xf1c25248
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
mov ecx, eax
or ecx, 7
and eax, 7
add eax, ecx
inc al
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x1b
jb 0x421d20
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x20]
push eax
lea eax, [esp + 0x5c]
push eax
push 0
push ecx
push dword [esp + 0x54]
call fcn.0043d680
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0xc], edi
jmp dword [eax*4 + 0x444674]
jmp 0x421dc9
movzx eax, word [esp + 0x58]
test ax, ax
je 0x421dc1
lea ecx, [esp + 0x5a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421db0
mov word [ebx], 0xa
add ebx, 2
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], 0x28292e2f
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov byte [esp + 0x2c], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0xc
ja 0x421e4f
nop
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx edx, byte [esp + eax + 0x20]
lea eax, [ecx + 0x5a]
and eax, edx
mov edi, 0xf0d003a5
sub edi, ecx
or edi, edx
not edi
add edi, edx
sub edi, eax
mov dword [esp + 4], edi
mov eax, dword [esp + 4]
mov ecx, eax
or ecx, 0x89
and eax, 0x89
add eax, ecx
inc al
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0xd
jb 0x421e00
mov ecx, dword [0x448ad4]
test ecx, ecx
je 0x421ea0
mov edx, dword [esp + 0x20]
xor edi, edi
mov eax, dword [0x448ad8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x11081610
je 0x421e80
inc edi
cmp ecx, edi
jne 0x421e70
jmp 0x421ea0
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je 0x421ea0
push dword [esp + 0x14]
push 1
push dword [0x448adc]
push eax
call fcn.00439d10
add esp, 0x10
nop
nop
nop
mov edi, dword [esp + 0xc]
jmp dword [0x44467c]
push edi
call fcn.004093b0
add esp, 4
inc esi
xor eax, eax
cmp esi, dword [esp + 0x18]
setb al
jmp dword [eax*4 + 0x44465c]
mov word [ebx], 0
mov eax, ebx
mov edi, dword [esp + 0x10]
xor eax, edi
not edi
and edi, ebx
add edi, edi
sub edi, eax
sar edi, 1
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x58], 0x28292e2f
lea eax, [esp + 0xe4]
mov byte [eax - 0x80], 0
mov dword [eax - 0x84], 0
mov dword [eax - 0x88], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xc
ja 0x421f6f
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx edx, byte [esp + eax + 0x58]
lea eax, [ecx + 0x5a]
and eax, edx
mov esi, 0xf0d003a5
sub esi, ecx
or esi, edx
not esi
add esi, edx
sub esi, eax
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x20]
mov ecx, eax
or ecx, 0x89
and eax, 0x89
add eax, ecx
inc al
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x58], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xd
jb 0x421f20
mov ecx, dword [0x448ad4]
test ecx, ecx
je case.0x420601.103
mov edx, dword [esp + 0x58]
xor esi, esi
mov eax, dword [0x448ad8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + esi*8], 0x11081610
je 0x421fa0
inc esi
cmp ecx, esi
jne 0x421f90
jmp case.0x420601.103
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
je case.0x420601.103
push dword [esp + 0xc]
push 1
push dword [0x448adc]
push eax
call fcn.00439d10
add esp, 0x10
nop
nop
nop
lea eax, [esp + 0x58]
push eax
call fcn.0043c130
add esp, 4
mov ecx, dword [case.0x421d8e.7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
movzx eax, al
jmp dword [eax*4 + 0x444694]
xor eax, eax
cmp dword [esp + 0x58], 1
sete al
jmp dword [eax*4 + 0x44469c]
xor eax, eax
mov ecx, 1
jmp dword [ecx*4 + 0x4446a4]
jmp 0x42201d
mov eax, 2
xor ecx, ecx
jmp dword [ecx*4 + 0x4446a4]
xor eax, eax
mov ecx, dword [case.0x421d8e.16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4446bc]
sete al
movzx edx, al
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4446c4]
xor ecx, ecx
mov esi, dword [esp + 0x10]
cmp ebx, esi
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x4446d4]
movzx ecx, word [esi]
test cx, cx
je 0x4220c9
xor eax, eax
mov edx, dword [esp + 0x10]
jmp 0x422092
mov eax, dword [esp + 0xc]
add eax, esi
movzx ecx, word [edx + 2]
add edx, 2
test cx, cx
je 0x4220c9
test ebx, ebx
je 0x42209a
cmp edx, ebx
jae 0x4220c9
mov dword [esp + 0xc], eax
movzx edi, cx
xor eax, eax
cmp edi, 0x800
setb byte [esp + 0x14]
mov esi, 1
cmp edi, 0x80
jb 0x422080
movzx ecx, byte [esp + 0x14]
mov al, cl
xor eax, 3
mov esi, eax
jmp 0x422080
mov dword [esp + 0xc], eax
mov edx, eax
and edx, 1
mov ecx, eax
xor ecx, 1
lea eax, [ecx + edx*2]
push eax
call fcn.004093a0
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [esp + 0x40], eax
test ecx, ecx
jle 0x4221a5
mov eax, dword [esp + 0x40]
lea edx, [ecx + eax]
inc edx
mov dword [esp + 0x48], edx
mov edx, eax
add edx, ecx
mov dword [esp + 0x14], edx
mov esi, dword [esp + 0x10]
jmp 0x422126
mov byte [eax], cl
mov edi, 1
add esi, 2
add eax, edi
cmp eax, dword [esp + 0x14]
jae 0x4221a5
test ebx, ebx
je 0x42212e
cmp esi, ebx
jae 0x4221a5
movzx ecx, word [esi]
test cx, cx
je 0x4221a5
cmp cx, 0x7f
jbe 0x422110
mov edx, eax
not edx
add edx, dword [esp + 0x48]
cmp edx, 2
jb 0x422170
movzx edi, cx
cmp edi, 0x7ff
ja 0x422170
mov edx, ecx
shr edx, 6
add dl, 0xc0
mov byte [eax], dl
and cl, 0x3f
or cl, 0x80
mov byte [eax + 1], cl
mov edi, 2
jmp 0x422117
xor edi, edi
cmp edx, 3
jb 0x422117
movzx edi, cx
mov edx, edi
shr edx, 0xc
or dl, 0xe0
mov byte [eax], dl
mov edx, edi
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [eax + 1], dl
and cl, 0x3f
or cl, 0x80
mov byte [eax + 2], cl
mov edi, 3
jmp 0x422117
mov ecx, dword [ebp + 8]
mov byte [eax], 0
mov dword [esp + 0x58], 0x5f4e5473
mov dword [esp + 0x5c], 0x445e4e53
mov dword [esp + 0x60], 0x4754599c
mov byte [esp + 0x64], 0xb2
mov dword [esp + 0x65], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x10
ja 0x422243
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x58]
lea esi, [eax - 0x25442f1b]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add eax, esi
add eax, 0xdabbd0e4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov edx, eax
xor edx, 0xbc
and eax, 0x3c
lea eax, [edx + eax*2]
inc al
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x58], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x11
jb 0x4221f0
lea eax, [esp + 0x58]
push dword [esp + 0xc]
mov edi, dword [esp + 0x44]
push edi
push eax
call fcn.00409cb0
mov esi, dword [esp + 0x10]
jmp dword [0x4446dc]
push edi
mov edi, eax
call fcn.004093b0
mov eax, edi
add esp, 4
push esi
mov ebx, eax
call fcn.00437f10
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
lea ecx, [esp + 0x4c]
push 0x410
call fcn.00438290
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4446ec]
mov dword [esp + 0x60], 0xe2db10e5
mov dword [esp + 0x64], 0x18e2cde8
mov dword [esp + 0x68], 0xece5ebc9
mov dword [esp + 0x6c], 0xc7ded6f5
mov dword [esp + 0x70], 0xd8f3eac6
mov dword [esp + 0x74], 0xdffce6fd
mov dword [esp + 0x78], 0xdac1fec2
mov dword [esp + 0x7c], 0xc6ffc4eb
mov dword [esp + 0x80], 0xe6e8d6ea
mov dword [esp + 0x84], 0xceeb85d9
mov dword [esp + 0x88], 0xb382e9e9
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov word [esp + 0x94], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x35
ja 0x42293c
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
movzx edx, byte [esp + eax + 0x60]
lea esi, [ecx - 0x32784f6c]
lea eax, [ecx + edx]
add eax, 0xcd87b094
and esi, edx
mov edi, 0x32784f6b
sub edi, ecx
or edi, edx
add edi, ecx
lea ecx, [esi + edi]
add ecx, 0xcd87b095
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x30]
add al, 0xf4
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x36
jb 0x4228e0
lea eax, [esp + 0xc]
lea ecx, [esp + 0x4c]
push 0
push 0x2b
lea edx, [esp + 0x68]
push edx
push eax
call fcn.00438880
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp esi, ebx
sete al
xor edi, edi
mov dword [esp + 0x44], ebx
jmp dword [eax*4 + 0x4446f4]
mov eax, ebx
sub eax, esi
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.004093a0
add esp, 4
mov edi, eax
mov dword [esp + 0x5c], 0
xor eax, eax
cmp esi, ebx
setne al
mov dword [esp + 0x40], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], 0
jmp dword [eax*4 + 0x4446fc]
mov esi, dword [esp + 0x48]
add esi, 4
xor eax, eax
mov ebx, dword [esp + 0x44]
cmp esi, ebx
setne al
jmp dword [eax*4 + 0x4446fc]
mov dword [esp + 0x48], esi
mov esi, dword [esi]
push 0x400
push 0
lea ebx, [esp + 0x68]
push ebx
call fcn.00409420
add esp, 0xc
lea eax, [esp + 0x30]
lea ecx, [esp + 0x4c]
push eax
push 0x400
push ebx
push esi
call fcn.00438700
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
jmp dword [ecx*4 + 0x444704]
xor eax, eax
cmp dword [esp + 0x30], 0
sete al
jmp dword [eax*4 + 0x44470c]
mov eax, 1
jmp dword [eax*4 + 0x444714]
mov eax, dword [esp + 0x5c]
jmp dword [eax*4 + 0x444714]
mov byte [esp + 0x45f], 0
movzx eax, byte [esp + 0x60]
xor ebx, ebx
test al, al
je 0x422a71
lea ecx, [esp + 0x60]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x422a6f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x422a60
jmp 0x422a71
mov ebx, ecx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44471c]
jmp dword [0x444724]
inc ebx
jmp case.0x422a78.2
jmp dword [0x44472c]
mov edx, ebx
inc ebx
movzx eax, byte [edx + 1]
xor esi, esi
test al, al
je 0x422a90
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x422ac0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x422ab0
jmp 0x422a90
mov esi, ecx
jmp dword [0x44472c]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x444734]
mov dword [esp + 4], esi
mov eax, esi
sub eax, ebx
mov ecx, eax
and ecx, 3
mov esi, eax
or esi, 3
imul esi, ecx
mov edi, ecx
xor edi, 3
mov ecx, eax
and ecx, 0xfffffffc
imul ecx, edi
add esi, ecx
mov edi, eax
xor edi, 0xfffffffe
mov ecx, eax
and ecx, 0xfffffffe
lea edi, [edi + ecx*2]
mov ecx, esi
mov esi, eax
shr ecx, 2
cmp byte [ebx + edi + 1], 0x3d
je 0x422b1b
cmp byte [edx + esi], 0x2e
jne 0x422b1c
dec ecx
movzx eax, byte [esi + ebx - 2]
cmp eax, 0x3d
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], esi
je 0x422b33
cmp eax, 0x2e
jne 0x422b34
dec ecx
mov esi, dword [esp + 4]
mov dword [esp + 0x58], ecx
lea eax, [ecx + 1]
push eax
call fcn.004093a0
add esp, 4
mov dword [esp + 0x20], eax
cmp esi, ebx
je 0x422c68
mov dword [esp + 4], 0
mov esi, 2
jmp 0x422b84
mov dword [esp + 4], eax
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
jae 0x422c68
mov edi, dword [esp + 0x2c]
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00419690
add esp, 4
mov bh, al
movzx eax, byte [edi + esi]
push eax
call fcn.00419690
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 4]
mov byte [ecx + edx], al
mov eax, edx
and eax, 1
mov ecx, edx
xor ecx, 1
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x24]
cmp esi, ecx
jae 0x422b70
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00419690
add esp, 4
cmp al, 0x40
jne 0x422c00
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x24]
jmp 0x422b74
mov bh, al
shl bl, 4
shr al, 2
and al, 0xf
or al, bl
mov edx, dword [esp + 0x28]
lea edi, [edx + 1]
mov ecx, dword [esp + 0x20]
mov byte [ecx + edx], al
lea eax, [esi + 1]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
mov dword [esp + 4], edi
jae 0x422b74
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + esi + 2]
push eax
call fcn.00419690
mov ecx, dword [esp + 0x28]
add esp, 4
cmp al, 0x40
je 0x422b74
shl bh, 6
add al, bh
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov byte [edx + ebx + 1], al
add ebx, 2
mov dword [esp + 4], ebx
jmp 0x422b74
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x20]
mov byte [esi + eax], 0
push esi
call fcn.00401ee0
add esp, 4
mov ebx, eax
jmp dword [0x44473c]
push esi
call fcn.004093b0
add esp, 4
push ebx
call fcn.00402960
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444744]
jmp 0x422dd9
mov ecx, dword [case.0x422a78.14]
jmp ecx
mov dword [esp + 0x30], 0xf394585b
lea ecx, [esp + 0x34]
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0xf
ja 0x422d2a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x30]
lea esi, [ecx - 0x4af63a2]
add ecx, 0x5e
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp], esi
mov ecx, dword [esp]
add cl, 0x6e
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x30], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x10
jb 0x422cf0
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.00402700
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44475c]
mov esi, dword [esp + 0x18]
jmp 0x422da7
mov esi, dword [esp + 0x18]
jmp dword [0x444764]
movzx ecx, byte [eax]
test cl, cl
je 0x422d6b
lea edx, [eax + 1]
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x422d60
mov byte [esi], 0
jmp case.0x422d3f.2
mov byte [esi], 0
jmp dword [0x44476c]
movzx ecx, byte [eax]
test cl, cl
je 0x422d70
lea edx, [eax + 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x422d90
jmp 0x422d70
mov byte [esi], 0x3a
mov byte [esi + 1], 0x20
add esi, 2
movzx eax, byte [esp + 0x60]
test al, al
je 0x422dcb
lea ecx, [esp + 0x61]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x422dc0
mov byte [esi], 0xa
inc esi
mov dword [esp + 0x18], esi
mov al, 1
mov dword [esp + 0x1c], eax
push ebx
call fcn.00402f30
add esp, 4
mov esi, dword [esp + 0x48]
add esi, 4
xor eax, eax
mov ebx, dword [esp + 0x44]
cmp esi, ebx
setne al
jmp dword [eax*4 + 0x4446fc]
mov eax, dword [esp + 0x1c]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x444784]
mov ebx, dword [esp + 0x40]
jmp dword [0x44478c]
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x18]
mov byte [edi], 0
mov ebx, dword [esp + 0x40]
sub edi, ebx
mov dword [esp + 0x60], 0x7f7a7d4d
mov dword [esp + 0x64], 0x8b677671
mov dword [esp + 0x68], 0x8c70767d
mov dword [esp + 0x6c], 0x62926e33
mov dword [esp + 0x70], 0x7729687d
mov dword [esp + 0x74], 0x656b6e6b
mov dword [esp + 0x78], 0x9b9e279b
mov word [esp + 0x7c], 0x119c
mov dword [esp + 0x7e], 0
mov word [esp + 0x82], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x422ed9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x60]
lea esi, [eax + edx]
add esi, 0x26b3e782
add eax, 0x26b3e782
and eax, edx
add eax, eax
sub esi, eax
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
add al, 0x72
mov edx, dword [esp]
mov byte [esp + edx + 0x60], al
mov eax, dword [esp]
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
mov dword [esp], eax
mov eax, dword [esp]
cmp eax, 0x24
jb 0x422e90
lea eax, [esp + 0x60]
push edi
push ebx
push eax
call fcn.00409cb0
mov dword [esp + 0x1c], eax
jmp dword [0x44478c]
push ebx
call fcn.004093b0
add esp, 4
mov eax, dword [esp + 0x1c]
and al, 1
mov edi, eax
mov eax, dword [case.0x422968.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x422f29
cmp eax, dword [esp + 0x10]
je 0x422f29
push eax
call fcn.004093b0
add esp, 4
mov ebx, edi
lea ecx, [esp + 0x4c]
call fcn.004383e0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor edx, edx
test esi, esi
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4447fc]
jmp dword [ecx*4 + 0x4447a4]
mov dword [esp + 0x40], 0xc31ac562
mov dword [esp + 0x44], 0xcf09c109
mov dword [esp + 0x48], 0xcb11cd19
mov dword [esp + 0x4c], 0xd716c916
mov dword [esp + 0x50], 0xd370d571
mov dword [esp + 0x54], 0xdf1fd101
mov dword [esp + 0x58], 0xdb14dd13
mov dword [esp + 0x5c], 0xa70ad90d
mov dword [esp + 0x60], 0xa300a56d
mov dword [esp + 0x64], 0xaf71a17f
mov dword [esp + 0x68], 0xab70ad64
mov dword [esp + 0x6c], 0xb767a973
mov dword [esp + 0x70], 0xb37fb568
mov dword [esp + 0x74], 0xbf6ab116
mov dword [esp + 0x78], 0xbb08bd11
mov dword [esp + 0x7c], 0x8713b900
mov dword [esp + 0x80], 0x83598522
mov dword [esp + 0x84], 0x8f2b813e
mov dword [esp + 0x88], 0x8b3f8d21
mov word [esp + 0x8c], 0x898a
lea ecx, [esp + 0x8e]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0xb0], 0
mov ecx, dword [esp + 0xb0]
cmp ecx, 0x52
ja 0x4230ce
nop
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb0]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + 0x6525d221]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add ecx, esi
add ecx, 0x6525d220
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0x19
mov edx, dword [esp + 0xb0]
mov byte [esp + edx + 0x40], cl
mov ecx, dword [esp + 0xb0]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0xb0]
cmp ecx, 0x53
jb 0x423060
lea ecx, [esp + 8]
lea ebx, [esp + 0x40]
push 0
push 0
push eax
push ecx
push ebx
call fcn.0043cc00
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4447ac]
lea edi, [esp + 0x3c]
lea eax, [esp + 0x10]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x28]
call fcn.0043d010
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4447b4]
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + ecx]
add eax, 2
inc ecx
jns 0x42312f
mov eax, 0xffffffff
push eax
call fcn.004093a0
add esp, 4
mov esi, eax
mov dword [esp + 0x40], 0x6bf86dd5
mov dword [esp + 0x44], 0x67ea69e7
mov dword [esp + 0x48], 0x63f665c5
mov dword [esp + 0x4c], 0x5fee61f4
mov dword [esp + 0x50], 0x5bd65dfd
mov dword [esp + 0x54], 0x575659c0
lea eax, [esp + 0x8e]
mov dword [eax - 0x33], 0
mov dword [eax - 0x36], 0
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 0x1e
ja 0x4231f2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + 0x77634c92]
add eax, 0x92
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xdc], edx
mov eax, dword [esp + 0xdc]
add al, 2
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 0x1f
jb 0x4231a0
push edi
push esi
push 0
push ebx
push dword [esp + 0x18]
call fcn.0043d680
add esp, 0x14
shr eax, 0x1f
mov dword [esp], esi
jmp dword [eax*4 + 0x4447bc]
mov dword [esp], 0
jmp dword [0x4447c4]
push esi
call fcn.004093b0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov dword [esp + 0x40], 0x28292e2f
lea ecx, [esp + 0x8e]
mov byte [ecx - 0x42], 0
mov dword [ecx - 0x46], 0
mov dword [ecx - 0x4a], 0
mov dword [esp + 0xb0], 0
mov ecx, dword [esp + 0xb0]
cmp ecx, 0xc
ja 0x4232d5
nop
nop
nop
nop
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx esi, byte [esp + ecx + 0x40]
lea ecx, [edx + 0x5a]
and ecx, esi
mov edi, 0xf0d003a5
sub edi, edx
or edi, esi
not edi
add edi, esi
sub edi, ecx
mov dword [esp + 0xdc], edi
mov ecx, dword [esp + 0xdc]
mov edx, ecx
or edx, 0x89
and ecx, 0x89
add ecx, edx
inc cl
mov edx, dword [esp + 0xb0]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
cmp ecx, 0xd
jb 0x423270
mov ecx, dword [0x448ad4]
test ecx, ecx
je case.default.0x42333e
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x448ad8]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x423314
inc esi
cmp ecx, esi
jne 0x4232f0
jmp case.default.0x42333e
mov esi, 4
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x4447ec]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.default.0x42333e
push eax
push 1
push dword [0x448adc]
push ecx
call fcn.00439d10
add esp, 0x10
nop
nop
xor eax, eax
cmp dword [esp], 0
setne al
mov esi, 2
jmp dword [eax*4 + 0x4447cc]
push ebx
call fcn.0043c130
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x4447d4]
xor eax, eax
cmp dword [esp + 0x40], 1
sete al
jmp dword [eax*4 + 0x4447dc]
xor esi, esi
mov eax, 1
jmp dword [eax*4 + 0x4447e4]
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x4447ec]
xor eax, eax
jmp dword [eax*4 + 0x4447e4]
xor esi, esi
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x4447ec]
xor edx, edx
cmp esi, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4447f4]
xor ebx, ebx
cmp dword [esp], 0
sete bl
jmp dword [ebx*4 + 0x444804]
mov dword [esp + 0x40], 0xab41a57a
mov dword [esp + 0x44], 0xaf5aa95b
mov dword [esp + 0x48], 0xb343ad44
mov dword [esp + 0x4c], 0xb76cb15b
mov dword [esp + 0x50], 0xbb45b553
mov dword [esp + 0x54], 0xbf52b948
mov dword [esp + 0x58], 0x4355bd51
mov dword [esp + 0x5c], 0x47ba4170
mov dword [esp + 0x60], 0x4bae45a2
lea eax, [esp + 0x64]
mov word [esp + 0x64], 0x494a
mov dword [esp + 0x66], 0
mov dword [esp + 0x6a], 0
mov byte [esp + 0x6e], 0
mov dword [esp + 0xb0], 0
mov ecx, dword [esp + 0xb0]
cmp ecx, 0x2e
ja 0x4234a6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb0]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + 0xe5]
add ecx, edx
and esi, edx
add esi, esi
sub ecx, esi
add ecx, 0x8be304e5
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0xbd
mov edx, dword [esp + 0xb0]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
cmp ecx, 0x2f
jb 0x423450
lea edi, [esp + 0xb0]
lea edx, [esp + 0x40]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xd4]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
xor eax, eax
mov esi, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax], 0
lea eax, [eax + 2]
jne 0x4234e0
lea ecx, [esi + eax]
add ecx, 0xfffffffe
add eax, esi
mov edx, 1
sub edx, eax
and edx, esi
mov eax, esi
not eax
and eax, ecx
sub eax, edx
cmp eax, 0xffffffd9
jge 0x423516
mov eax, 0xffffffff
jmp 0x423519
xor eax, eax
jmp 0x423f25
add eax, 0x26
push eax
call fcn.004093a0
add esp, 4
mov esi, eax
mov eax, dword [esp]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x423551
mov eax, dword [esp]
lea edx, [eax + 2]
mov eax, esi
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 0x423540
mov word [eax], 0
movzx ecx, word [esp + 0xb0]
test cx, cx
je 0x423581
lea edx, [esp + 0xb2]
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
jmp dword [ebx*4 + 0x44480c]
push dword [esp]
call fcn.004093b0
add esp, 4
lea eax, [esp + 0x10]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043c380
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444814]
xor ebx, ebx
xor edi, edi
jmp dword [0x444864]
push esi
call fcn.004093b0
add esp, 4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x44486c]
xor eax, eax
test edi, edi
jne 0x423eee
jmp 0x423f25
mov dword [esp + 0xa0], esi
lea eax, [esp + 0x3c]
push 0
push eax
push dword [esp + 0x18]
call fcn.0043c740
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44481c]
mov esi, dword [esp + 0x3c]
lea eax, [esi + 1]
push eax
call fcn.004093a0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x1c]
call fcn.0043c850
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x444824]
mov esi, dword [esp + 0x3c]
mov byte [edi + esi], 0
push 0x20
call fcn.004093a0
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 [esp + 0x9c], eax
mov ecx, eax
push esi
mov dword [esp + 0x3c], edi
push edi
call fcn.00426210
movzx eax, al
xor ebx, ebx
xor edx, edx
jmp dword [eax*4 + 0x44482c]
mov dword [esp + 0x40], 0xdfeed4f3
mov dword [esp + 0x44], 0xe4deeed3
mov dword [esp + 0x48], 0x1febf71f
mov dword [esp + 0x4c], 0x2e11a28
mov dword [esp + 0x50], 0x28131e22
mov dword [esp + 0x54], 0x1a1dfeeb
mov dword [esp + 0x58], 0x372e262f
mov word [esp + 0x5c], 0xa137
mov dword [esp + 0x5e], 0
mov dword [esp + 0x62], 0
mov word [esp + 0x66], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x27
ja 0x423753
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + 0x7168ddf5]
add eax, 0xf5
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xdc], edx
mov eax, dword [esp + 0xdc]
add al, 0x4d
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x28
jb 0x423710
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x40]
push eax
call fcn.00426460
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x444834]
mov eax, dword [case.0x42376d.7]
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov esi, edx
mov edi, dword [esp + 0x38]
jmp dword [0x444854]
mov ecx, dword [esp + 0x9c]
call fcn.004265f0
push dword [esp + 0x9c]
call fcn.004093b0
add esp, 4
jmp dword [0x44485c]
jmp dword [0x44485c]
push edi
call fcn.004093b0
add esp, 4
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], 0x28292e2f
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov byte [esp + 0x4c], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0xc
ja 0x423856
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + 0x5a]
and esi, edx
mov edi, 0xf0d003a5
sub edi, ecx
or edi, edx
not edi
add edi, edx
sub edi, esi
mov dword [esp + 0xdc], edi
mov ecx, dword [esp + 0xdc]
mov edx, ecx
or edx, 0x89
and ecx, 0x89
add ecx, edx
inc cl
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0xd
jb 0x423800
mov ecx, dword [0x448ad4]
test ecx, ecx
je 0x42388c
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x448ad8]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x423880
inc esi
cmp ecx, esi
jne 0x423870
jmp 0x42388c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423e70
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xa0]
jmp dword [0x444864]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x44486c]
mov dword [esp + 0x34], ebx
mov eax, ebx
mov dword [esp + 0x18], edi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.004093a0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], 0xab68a54d
mov dword [esp + 0x44], 0xaf0da91b
mov dword [esp + 0x48], 0xb300ad09
mov dword [esp + 0x4c], 0xb700b175
mov dword [esp + 0x50], 0xbb70b506
mov dword [esp + 0x54], 0xbf0cb91d
mov dword [esp + 0x58], 0x8357bd19
mov dword [esp + 0x5c], 0x8755815e
mov dword [esp + 0x60], 0x8b2f8532
mov dword [esp + 0x64], 0x8f3b892d
mov dword [esp + 0x68], 0x93208d52
mov dword [esp + 0x6c], 0x97359123
mov dword [esp + 0x70], 0x9b389531
mov dword [esp + 0x74], 0x9f229968
mov dword [esp + 0x78], 0x63369d3a
lea eax, [esp + 0x7c]
mov word [esp + 0x7c], 0x6162
mov dword [esp + 0x7e], 0
mov byte [esp + 0x82], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x42
ja 0x4239c8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0x64766dc5
add ecx, 0x64766dc5
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xdc], esi
mov ecx, dword [esp + 0xdc]
add cl, 0x9d
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x43
jb 0x423980
lea ebx, [esp + 0xdc]
lea edx, [esp + 0x40]
mov edi, ebx
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x118]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0x3c]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x448ad0]
mov ebx, dword [esp + 0x3c]
test ebx, ebx
jns 0x423a14
mov eax, 0xffffffff
jmp 0x423a17
lea eax, [ebx + ebx]
push eax
call fcn.004093a0
add esp, 4
mov edi, eax
push esi
push ebx
push eax
push 0x1e
lea eax, [esp + 0xec]
push eax
push 0
call dword [0x448ad0]
lea eax, [esp + 0xac]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0xb0], edi
push edi
call fcn.0043c380
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444874]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x34]
jmp dword [0x444984]
push dword [esp + 0xa0]
mov esi, edx
call fcn.004093b0
add esp, 4
mov edx, esi
mov eax, edx
and al, 1
movzx ecx, al
mov edi, dword [esp + 0x18]
mov eax, esi
jmp dword [ecx*4 + 0x44498c]
mov esi, dword [esp + 0x24]
mov byte [esi], 0
sub esi, dword [esp + 0x1c]
mov dword [esp + 0x40], 0xe7d4d581
mov dword [esp + 0x44], 0xdbefece5
mov dword [esp + 0x48], 0xa6dedce1
mov dword [esp + 0x4c], 0x9ca484e3
mov dword [esp + 0x50], 0x8fe5a691
mov dword [esp + 0x54], 0xad9394ab
mov dword [esp + 0x58], 0xbba8efab
mov word [esp + 0x5c], 0x21b6
mov dword [esp + 0x5e], 0
mov dword [esp + 0x61], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x24
ja 0x423b4c
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + 0x35]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xacddf035
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x8d
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x25
jb 0x423b10
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x20]
lea eax, [esp + 0x48]
push eax
call fcn.00409cb0
jmp case.0x42333e.112
lea eax, [esp + 0xa8]
push 0
push eax
push dword [esp + 0xb4]
call fcn.0043c740
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
jmp dword [eax*4 + 0x44487c]
mov esi, dword [esp + 0xa8]
lea eax, [esi + 1]
push eax
call fcn.004093a0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xb8]
call fcn.0043c850
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
jmp dword [eax*4 + 0x444884]
jmp dword [0x44488c]
mov esi, dword [esp + 0xa8]
mov byte [edi + esi], 0
push 0x20
call fcn.004093a0
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 ecx, eax
push esi
push edi
call fcn.00426210
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0xa8]
mov byte [edi + esi], 0
push 0x20
call fcn.004093a0
add esp, 4
mov ebx, eax
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 ecx, eax
push esi
push edi
call fcn.00426210
jmp dword [0x444898]
movzx eax, al
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
jmp dword [eax*4 + 0x44489c]
mov dword [esp + 0x40], 0xcfdec8e3
mov dword [esp + 0x44], 0xd8cedec3
mov dword [esp + 0x48], 0xafa3978f
mov dword [esp + 0x4c], 0x92f5a2b4
mov dword [esp + 0x50], 0xa4abaeb2
mov dword [esp + 0x54], 0xa1bd88fb
mov dword [esp + 0x58], 0xa7b5b6a0
mov dword [esp + 0x5c], 0xbfb1b697
mov word [esp + 0x60], 0xd9b1
mov dword [esp + 0x62], 0
mov dword [esp + 0x66], 0
mov dword [esp + 0x6a], 0
mov byte [esp + 0x6e], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x2e
ja 0x423d4d
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax - 0x21f84949]
add eax, 0xb7
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
dec al
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x2f
jb 0x423d10
mov ecx, ebx
lea eax, [esp + 0x40]
push eax
call fcn.00426460
mov esi, eax
xor eax, eax
test esi, esi
setne al
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa4], ebx
jmp dword [eax*4 + 0x4448a4]
jmp dword [0x444974]
mov dword [esp + 0x28], edx
mov ecx, ebx
call fcn.004265f0
push ebx
call fcn.004093b0
add esp, 4
jmp dword [0x44497c]
mov dword [esp + 0x28], edx
jmp dword [0x44497c]
push edi
call fcn.004093b0
add esp, 4
mov eax, dword [esp + 0xac]
mov dword [esp + 0x40], 0x28292e2f
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov byte [esp + 0x4c], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0xc
ja 0x423e40
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + 0x5a]
and esi, edx
mov edi, 0xf0d003a5
sub edi, ecx
or edi, edx
not edi
add edi, edx
sub edi, esi
mov dword [esp + 8], edi
mov ecx, dword [esp + 8]
mov edx, ecx
or edx, 0x89
and ecx, 0x89
add ecx, edx
inc cl
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 0xd
jb 0x423df0
mov ecx, dword [0x448ad4]
test ecx, ecx
mov ebx, dword [esp + 0x34]
je 0x423e9f
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x448ad8]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x423e93
inc esi
cmp ecx, esi
jne 0x423e60
jmp 0x423e9f
push eax
push 1
push dword [0x448adc]
push ecx
call fcn.00439d10
add esp, 0x10
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xa0]
jmp dword [0x444864]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423f2d
mov edx, dword [esp + 0x28]
jmp dword [0x444984]
mov eax, edx
and al, 1
movzx ecx, al
mov edi, dword [esp + 0x18]
mov eax, edx
jmp dword [ecx*4 + 0x44498c]
mov ecx, dword [case.0x42333e.117]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x4449a4]
push dword [esp + 0x1c]
mov esi, eax
call fcn.004093b0
mov eax, esi
add esp, 4
and al, 1
test edi, edi
je 0x423f25
cmp edi, ebx
je 0x423f25
mov dword [esp + 0x28], eax
mov esi, edi
jmp 0x423f04
cmp esi, ebx
je 0x423f18
mov eax, dword [esi]
add esi, 8
test eax, eax
je 0x423f00
push eax
call fcn.004093b0
add esp, 4
jmp 0x423f00
push edi
call fcn.004093b0
add esp, 4
mov eax, dword [esp + 0x28]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 1
push dword [0x448adc]
push ecx
call fcn.00439d10
add esp, 0x10
mov edx, dword [esp + 0x28]
jmp dword [0x444984]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
mov dword [esp], 0
xor edx, edx
jmp dword [eax*4 + 0x44483c]
xor eax, eax
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [edx + esi*8 + 4], eax
add ebx, 8
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, edx
jmp dword [eax*4 + 0x44483c]
mov dword [esp + 0x1c], ecx
mov esi, dword [ecx]
mov ecx, ebx
sub ecx, edi
sar ecx, 3
mov eax, dword [esp]
cmp ebx, eax
mov dword [esp + 0x20], ecx
je 0x423fb5
mov dword [esp + 0x34], ebx
jmp 0x424030
lea eax, [ecx + 1]
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x423fc4
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.004093a0
add esp, 4
mov dword [esp + 0x18], eax
test edi, edi
je 0x42401e
mov eax, dword [esp]
cmp edi, eax
je 0x424015
xor eax, eax
mov edx, dword [esp + 0x18]
nop
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 [esp]
jne 0x423ff0
mov eax, edi
push eax
call fcn.004093b0
add esp, 4
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
lea eax, [edi + ecx*8]
mov dword [esp + 0x34], eax
lea eax, [edi + ebx*8]
mov dword [esp], eax
mov dword [edi + ecx*8], 0
mov dword [edi + ecx*8 + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
inc eax
cmp byte [esi + ebx], 0
jne 0x424050
mov ecx, eax
mov dword [esp + 4], eax
dec eax
mov dword [esp + 0x30], eax
push ecx
call fcn.004093a0
add esp, 4
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x20]
mov dword [edi + ecx*8], eax
mov ecx, dword [esp + 4]
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esp + 4]
mov ecx, edx
xor ecx, 3
mov edi, edx
or edi, 0xfffffffc
and edi, ecx
add edi, eax
mov eax, edx
and eax, 0xfffffffc
add eax, esi
mov ecx, edx
xor ecx, 0xfffffffc
or edx, 3
and edx, ecx
mov ecx, edx
shr ecx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 4]
mov edi, ecx
test cl, 1
je 0x4240e4
mov ecx, dword [esp + 0x30]
or ecx, 0xfffffffe
add ecx, edx
and edx, 0xfffffffe
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + edx]
mov edx, dword [esp + 0x24]
mov byte [edx + ecx + 1], al
cmp edi, 1
je 0x423f69
cmp edi, 2
jne 0x4240f9
mov eax, 0xffffffff
jmp 0x42413b
and ebx, 0xfffffffe
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
shr ecx, 8
xor al, byte [esi]
movzx eax, al
xor ecx, dword [eax*4 + 0x43f7d0]
mov eax, ecx
shr eax, 8
xor cl, byte [esi + 1]
add esi, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x43f7d0]
add ebx, 0xfffffffe
jne 0x424110
mov edx, dword [esp + 0x18]
test byte [esp + 0x30], 1
mov ebx, dword [esp + 0x34]
je 0x42415d
mov ecx, eax
shr ecx, 8
xor al, byte [esi]
movzx eax, al
xor ecx, dword [eax*4 + 0x43f7d0]
mov eax, ecx
not eax
jmp 0x423f73
mov ecx, esi
add ecx, 8
xor edx, edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ecx]
mov eax, dword [case.0x423d7a.5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x4448bc]
mov esi, dword [ecx]
xor edi, edi
cmp dword [ecx + 0x18], 3
jne case.default.0x4241b8
mov edi, dword [ecx + 0x10]
xor eax, eax
test esi, esi
setne al
mov dword [esp + 0x30], esi
jmp dword [eax*4 + 0x4448c4]
mov eax, dword [case.0x423d7a.12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4448dc]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], edx
mov ecx, edi
jmp dword [0x4448e8]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax], 0
lea eax, [eax + 1]
jne 0x424200
mov ecx, edi
nop
nop
nop
nop
nop
nop
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne case.0x423d7a.17
sub ebx, edi
inc ebx
shr ebx, 1
lea eax, [ebx + 1]
push eax
call fcn.004093a0
add esp, 4
mov ecx, edi
jmp dword [0x4448f0]
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0xd8], eax
mov dword [esp + 4], eax
jmp dword [ecx*4 + 0x4448f4]
inc edi
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
mov byte [eax], cl
inc eax
mov dword [esp + 4], eax
movsx edx, byte [edi]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4448f4]
mov dword [esp], edi
mov eax, edx
not eax
or eax, 0xffffffdf
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x424288
mov ecx, 0xffffffff
lea edi, [edx + eax]
add edi, 0xffffffc0
cmp edi, 6
jb 0x4242a0
mov dword [esp + 0x20], ecx
jmp 0x4242a9
add eax, edx
add eax, 0xffffffca
mov dword [esp + 0x20], eax
mov edi, dword [esp]
movsx ecx, byte [edi + 1]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x4448fc]
mov edx, ecx
not edx
or edx, 0xffffffdf
lea eax, [ecx - 0x30]
cmp eax, 0xa
jb 0x4242d2
mov eax, 0xffffffff
mov edi, dword [esp + 0x20]
shl edi, 4
add dword [esp], 2
lea esi, [ecx + edx]
add esi, 0xffffffc0
cmp esi, 6
jae case.default.0x42430c
lea eax, [ecx + edx]
add eax, 0xffffffca
mov esi, dword [esp + 0x30]
or eax, edi
mov ecx, dword [esp + 4]
mov byte [ecx], al
inc ecx
mov dword [esp + 4], ecx
mov edi, dword [esp]
movsx edx, byte [edi]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4448f4]
mov eax, dword [esp + 4]
mov byte [eax], 0
nop
nop
nop
nop
nop
nop
inc esi
movzx eax, byte [esi - 1]
movsx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x424320
cmp ecx, 0x20
je 0x424320
movzx ecx, al
cmp ecx, 0x2b
je 0x424346
cmp ecx, 0x2d
jne 0x424622
cmp al, 0x2b
sete byte [esp + 0x2f]
movzx eax, byte [esi]
cmp al, 0x30
jne 0x424364
movzx eax, byte [esi + 1]
and al, 0xdf
xor ecx, ecx
cmp al, 0x58
sete cl
lea esi, [esi + ecx*2]
mov dword [esp + 4], 0
mov dword [esp], 0
xor eax, eax
jmp 0x4243a8
mov dword [esp + 0x20], 0
xor edi, edi
mov ecx, 0xffffffff
mov edx, 0xffffffff
mov dword [esp + 0x30], 0x22
mov eax, dword [esp + 0x20]
add eax, ecx
adc edi, edx
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, edi
mov edx, eax
mov edi, dword [esp]
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
movsx eax, byte [esi]
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jb 0x4243ef
mov dword [esp + 4], edi
mov dword [esp], edx
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x19
ja 0x424477
or al, 0x20
cmp al, 0x66
jg 0x424477
movsx ecx, al
add ecx, 0xffffffa9
mov edx, dword [esp]
mov edi, dword [esp + 4]
mov dword [esp + 0x20], ecx
inc esi
mov ecx, edi
and ecx, edx
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0x22
mov eax, 0xffffffff
cmp ecx, 0xffffffff
je 0x4243a8
test edx, 0xf0000000
je 0x424440
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0x22
cmp dword [esp + 0x20], 0
jne 0x4243a8
jmp 0x424377
mov ecx, edi
shld edx, edi, 4
shl ecx, 4
mov eax, dword [esp + 0x20]
mov edi, eax
sar edi, 0x1f
add eax, ecx
mov eax, edi
adc eax, edx
mov dword [esp], 0xffffffff
mov eax, 0xffffffff
mov dword [esp + 4], 0x22
jb 0x4243a8
jmp 0x424393
xor esi, esi
mov eax, dword [esp + 4]
neg eax
mov ecx, 0
sbb ecx, dword [esp]
cmp byte [esp + 0x2f], 0
jne case.default.0x4244a2
mov dword [esp + 4], eax
mov dword [esp], ecx
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x34]
setne al
jmp dword [eax*4 + 0x444904]
mov esi, dword [ecx]
xor eax, eax
jmp dword [eax*4 + 0x444914]
add ecx, 8
xor eax, eax
cmp ecx, dword [esp + 0x34]
setne al
jmp dword [eax*4 + 0x444904]
cmp dword [esp + 0x30], 0x22
setne al
mov edx, dword [ecx + 4]
mov edi, edx
shr edi, 0x1c
xor edi, dword [esp]
shl edx, 4
or edx, 1
xor edx, dword [esp + 4]
or edx, edi
sete dl
and dl, al
movzx eax, dl
jmp dword [eax*4 + 0x44490c]
mov eax, 1
jmp dword [eax*4 + 0x444914]
mov eax, dword [case.0x423d7a.32]
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
setne al
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
jmp dword [eax*4 + 0x44492c]
mov ebx, dword [esp + 0xa4]
jmp dword [0x44495c]
push dword [esp + 0xd8]
mov esi, edx
call fcn.004093b0
mov ecx, dword [esp + 0x3c]
mov edx, esi
add esp, 4
nop
nop
nop
nop
mov eax, dword [case.0x42333e.105]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
add ecx, 4
mov edi, dword [esp + 0x9c]
jmp 0x424180
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x44], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne 0x424590
mov dword [esp + 8], eax
mov eax, dword [case.0x423d7a.38]
mov ebx, dword [esp + 0xa4]
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x444948]
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0xc], esi
jmp dword [0x444950]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
push 0x932a8d34
push dword [0x448ae0]
call fcn.0043b840
add esp, 8
lea ecx, [esp + 0x10]
push ecx
push 1
push 0
push 0
lea ecx, [esp + 0x18]
push ecx
push 0
lea ecx, [esp + 0x58]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444954]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
jmp dword [0x44495c]
dec esi
mov byte [esp + 0x2f], 1
cmp al, 0x30
je 0x424354
jmp 0x424364
movzx eax, byte [esi]
test al, al
je 0x42465d
inc esi
mov ecx, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x424650
jmp 0x424661
mov ecx, dword [esp + 0x24]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x10]
test esi, esi
je 0x42469b
mov ecx, dword [esp + 0x14]
mov edx, esi
and edx, 3
je 0x42469f
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x424680
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x4246a1
mov edi, eax
jmp 0x4246df
mov edx, esi
cmp esi, 4
jb 0x4246df
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x4246a6
mov byte [edi], 0xa
inc edi
mov dword [esp + 0x24], edi
push 0x2e0ec9bb
push dword [0x448ac8]
call fcn.0043b840
add esp, 8
push dword [esp + 0x14]
call eax
mov dl, 1
mov ebx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x38]
jmp dword [0x44495c]
mov eax, dword [esi + 0x68]
mov edx, dword [eax]
add edx, 4
mov dword [eax], edx
mov eax, dword [esi + 0x40]
add eax, 2
mov dword [esi + 0x38], eax
xor eax, eax
mov ecx, dword [esi + 0x70]
cmp edx, dword [ecx]
mov ecx, dword [esi + 0x44]
lea ecx, [ecx + 2]
mov dword [esi + 0x18], ecx
setne al
mov ecx, dword [esi + 0x24]
add ecx, 2
mov dword [esi + 8], ecx
jmp dword [eax*4 + 0x4449bc]
jmp dword [0x4449d4]
mov dword [esi + 0x1c], ecx
mov eax, dword [edx]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov ecx, dword [esi + 0x7c]
mov byte [ecx], 0
xor ecx, ecx
nop
nop
cmp word [eax + ecx], 0
lea ecx, [ecx + 2]
jne 0x424790
lea edx, [eax + ecx]
add edx, 0xfffffffe
add ecx, eax
mov edi, 1
sub edi, ecx
and edi, eax
not eax
and eax, edx
sub eax, edi
sar eax, 1
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov dword [ebx], 0xb3e0b5d2
mov dword [ebx + 4], 0xcfcdb1c3
mov dword [ebx + 8], 0xcbb8cdb1
mov dword [ebx + 0xc], 0xc7a5c9ea
mov dword [ebx + 0x10], 0xc3bbc54a
mov dword [ebx + 0x14], 0xdfbbc14e
lea eax, [ebx + 0x18]
mov word [ebx + 0x18], 0xddde
mov dword [ebx + 0x1a], 0
mov dword [ebx + 0x1e], 0
mov word [ebx + 0x22], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x23
ja 0x424843
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
lea edi, [ecx - 0x675e2ac7]
add ecx, 0x39
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x28], edi
mov ecx, dword [esi + 0x28]
add cl, 0x71
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x24
jb 0x424810
mov edx, ebx
mov ebx, dword [esi + 0x24]
mov edi, ebx
mov ecx, 6
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebx + 0x18]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd
lea eax, [edx + edx]
add eax, 0x1a
test ecx, ecx
jns 0x424883
mov eax, 0xffffffff
push eax
call fcn.004093a0
add esp, 4
mov ecx, dword [esi + 0x54]
mov dword [ecx], eax
mov ecx, dword [esi + 0x48]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
mov edi, dword [esi + 0x1c]
je 0x4248c3
add ecx, 2
mov ebx, dword [esi + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4248b0
jmp 0x4248c6
mov ebx, dword [esi + 0x20]
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x4248f1
add ecx, 2
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4248e0
mov word [eax], 0
mov ecx, dword [esi + 0x24]
movzx ecx, word [ecx]
test cx, cx
je 0x424921
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x424910
mov word [eax], 0
push 0x60
push 3
push 0x120089
push dword [esi + 0x64]
mov eax, dword [esi + 0x54]
push dword [eax]
call fcn.0043c380
add esp, 0x14
jmp case.0x42333e.130
mov word [eax], 0
push 0x60
push 3
push 0x120089
push dword [esi + 0x64]
mov eax, dword [esi + 0x54]
push dword [eax]
call fcn.0043c380
add esp, 0x14
jmp dword [0x4449e0]
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov ecx, dword [esi + 0x7c]
mov byte [ecx], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + ecx], 0
lea ecx, [ecx + 2]
jne 0x424990
lea edx, [eax + ecx]
add edx, 0xfffffffe
add ecx, eax
mov edi, 1
sub edi, ecx
and edi, eax
not eax
and eax, edx
sub eax, edi
sar eax, 1
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov dword [ebx], 0xb3e0b5d2
mov dword [ebx + 4], 0xcfcdb1c3
mov dword [ebx + 8], 0xcbb8cdb1
mov dword [ebx + 0xc], 0xc7a5c9ea
mov dword [ebx + 0x10], 0xc3bbc54a
mov dword [ebx + 0x14], 0xdfbbc14e
lea eax, [ebx + 0x18]
mov word [ebx + 0x18], 0xddde
mov dword [ebx + 0x1a], 0
mov dword [ebx + 0x1e], 0
mov word [ebx + 0x22], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x23
ja 0x424a43
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
lea edi, [ecx - 0x675e2ac7]
add ecx, 0x39
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x28], edi
mov ecx, dword [esi + 0x28]
add cl, 0x71
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x24
jb 0x424a10
mov edx, ebx
mov ebx, dword [esi + 0x24]
mov edi, ebx
mov ecx, 6
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebx + 0x18]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
lea edx, [eax + ecx]
add edx, 0xd
test edx, edx
jns 0x424a80
mov eax, 0xffffffff
jmp 0x424a87
add eax, ecx
add eax, eax
add eax, 0x1a
mov ebx, dword [esi + 0x20]
push eax
call fcn.004093a0
add esp, 4
mov ecx, dword [esi + 0x54]
mov dword [ecx], eax
mov ecx, dword [esi + 0x48]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x424ac1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x424ab0
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x424af1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x424ae0
mov word [eax], 0
mov ecx, dword [esi + 0x24]
movzx ecx, word [ecx]
test cx, cx
je 0x424950
mov edx, dword [esi + 8]
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 0x424b10
jmp 0x424950
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4449e4]
push 0
mov edi, dword [esi + 0xa4]
push edi
mov eax, dword [esi + 0x64]
push dword [eax]
call fcn.0043c740
add esp, 0xc
mov ecx, dword [case.0x42333e.138]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4449fc]
mov eax, dword [edi]
mov dword [esi + 8], eax
inc eax
push eax
call fcn.004093a0
add esp, 4
mov edi, eax
mov eax, dword [esi + 0xa0]
mov dword [eax], edi
push 0
push dword [esi + 8]
push edi
mov eax, dword [esi + 0x64]
push dword [eax]
call fcn.0043c850
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444a04]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x444a6c]
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
mov byte [edi + eax], 0
push edi
call fcn.00401ee0
add esp, 4
mov ecx, dword [esi + 0x8c]
mov dword [ecx], eax
mov ecx, dword [case.0x42333e.146]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444a1c]
push eax
call fcn.00402960
add esp, 4
mov edi, dword [esi + 0xa8]
mov dword [edi], 0x787d4a4f
mov dword [edi + 4], 0x5b465c46
mov dword [edi + 8], 0x70444c06
mov dword [edi + 0xc], 0x435e445e
mov dword [edi + 0x10], 0x506d5555
mov word [edi + 0x14], 0x4c59
mov byte [edi + 0x16], 0xc6
mov dword [edi + 0x17], 0
mov byte [edi + 0x1b], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1b
ja 0x424c8b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
lea edi, [ecx + 0x24]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
mov edi, dword [esi + 0xa8]
add ecx, 0xc42a0c24
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x28]
add cl, 4
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1c
jb 0x424c50
push edi
push eax
call fcn.00402d40
add esp, 8
mov edx, 0xffffffff
mov edi, 0xfffffffe
nop
mov ecx, edx
add edi, 2
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x424ca0
mov ecx, edx
and ecx, 3
mov dword [esi + 8], ecx
mov ecx, edx
or ecx, 3
imul ecx, dword [esi + 8]
mov dword [esi + 0x80], ecx
xor dword [esi + 8], 3
mov dword [esi + 0x14], edx
mov edx, dword [esi + 0x14]
and edx, 0xfffffffc
imul edx, dword [esi + 8]
mov ecx, dword [esi + 0x80]
add ecx, edx
mov edx, dword [esi + 0x14]
xor edx, 0xfffffffe
and edi, 0xfffffffc
add edi, edx
mov edx, dword [esi + 0x14]
shr ecx, 2
cmp byte [eax + edi + 1], 0x3d
je 0x424cfe
cmp byte [eax + edx - 1], 0x2e
jne 0x424d03
mov edi, ecx
dec edi
jmp 0x424d05
mov edi, ecx
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esi + 0x5c], eax
je 0x424d17
cmp ecx, 0x2e
jne 0x424d18
dec edi
mov dword [esi + 0x80], edi
lea eax, [edi + 1]
push eax
call fcn.004093a0
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x98]
mov dword [esi + 0x50], ecx
mov dword [eax], ecx
cmp dword [esi + 0x14], 0
je 0x424e5b
mov dword [esi + 0x1c], 0
mov eax, 2
jmp 0x424d61
mov dword [esi + 0x1c], eax
lea eax, [edi + 4]
add edi, 2
cmp edi, edx
jae 0x424e5b
mov dword [esi + 8], eax
mov edi, dword [esi + 0x5c]
mov eax, dword [esi + 8]
movzx eax, byte [edi + eax - 2]
push eax
call fcn.00419690
add esp, 4
mov byte [esi + 0x3c], al
mov eax, dword [esi + 8]
movzx eax, byte [edi + eax - 1]
mov edi, dword [esi + 8]
push eax
call fcn.00419690
add esp, 4
movzx ecx, byte [esi + 0x3c]
shl cl, 2
mov byte [esi + 0x3c], al
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x1c]
mov byte [ecx + edx], al
mov eax, edx
and eax, 1
mov ecx, edx
mov edx, dword [esi + 0x14]
xor ecx, 1
lea eax, [ecx + eax*2]
cmp edi, edx
jae 0x424d50
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x5c]
movzx eax, byte [eax + edi]
push eax
call fcn.00419690
add esp, 4
cmp al, 0x40
jne 0x424df0
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x1c], eax
mov edx, dword [esi + 0x14]
jmp 0x424d53
movzx ecx, byte [esi + 0x3c]
shl cl, 4
mov byte [esi + 0x3c], al
shr al, 2
and al, 0xf
or al, cl
mov edx, dword [esi + 0x6c]
lea ecx, [edx + 1]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x50]
mov byte [ecx + edx], al
lea eax, [edi + 1]
mov edx, dword [esi + 0x14]
cmp eax, edx
jae 0x424d53
mov eax, dword [esi + 0x5c]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00419690
mov edx, dword [esi + 0x14]
add esp, 4
cmp al, 0x40
je 0x424d53
movzx ecx, byte [esi + 0x3c]
shl cl, 6
add al, cl
mov ecx, dword [esi + 0x50]
mov edi, dword [esi + 0x6c]
mov byte [ecx + edi + 1], al
mov edi, dword [esi + 8]
mov eax, dword [esi + 0x6c]
add eax, 2
jmp 0x424d50
mov eax, dword [esi + 0x80]
add eax, 0xfffffffb
mov ecx, dword [esi + 0x9c]
mov dword [ecx], eax
mov eax, dword [esi + 0x50]
add eax, 5
mov dword [ecx + 4], eax
mov edi, dword [esi + 0x88]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x932a8d34
push dword [0x448ae0]
call fcn.0043b840
add esp, 8
push edi
push 0
push 0
push 0
push 0
push 0
push dword [esi + 0x9c]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444a24]
xor eax, eax
mov ecx, dword [esi + 0x50]
test ecx, ecx
sete al
mov edi, dword [esi + 0x8c]
jmp dword [eax*4 + 0x444a44]
mov eax, dword [esi + 0xbc]
mov dword [eax], 0x366012f
mov dword [eax + 4], 0x7280574
mov dword [eax + 8], 0xb72097c
mov dword [eax + 0xc], 0xf0e0d78
lea ecx, [eax + 0x10]
mov dword [esi + 8], ecx
mov dword [eax + 0x10], 0
mov word [eax + 0x14], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x15
ja 0x424f5a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [eax + edx]
lea edi, [ecx + edx]
add edi, 0x363b3700
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, edi
not ecx
and ecx, edi
add ecx, ecx
sub ecx, edx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x16
jb 0x424f20
mov edx, eax
mov eax, dword [esi + 0x84]
mov edi, eax
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x10]
xor ecx, ecx
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, eax
and ecx, 8
xor eax, 8
lea ecx, [eax + ecx*2]
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x424f98
mov eax, 0xffffffff
push eax
call fcn.004093a0
add esp, 4
mov ecx, dword [esi + 0x94]
mov dword [ecx], eax
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x424fd1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x424fc0
mov word [eax], 0
mov ecx, dword [esi + 0x84]
movzx ecx, word [ecx]
test cx, cx
je 0x425001
mov edx, dword [esi + 0xb8]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424ff0
mov word [eax], 0
mov eax, dword [esi + 0x90]
mov ecx, dword [eax]
mov eax, dword [esi + 0x94]
mov edi, dword [eax]
mov eax, dword [esi + 0x88]
push dword [eax]
push dword [eax + 4]
push edi
call fcn.00409af0
mov ecx, dword [esi + 0x7c]
mov byte [ecx], al
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x444a2c]
jmp dword [0x444a38]
push edi
call fcn.004093b0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.004093b0
add esp, 4
jmp dword [0x444a3c]
push 0x2e0ec9bb
push dword [0x448ac8]
call fcn.0043b840
add esp, 8
mov ecx, dword [esi + 0x88]
push dword [ecx + 4]
call eax
mov eax, dword [esi + 0x98]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
sete al
mov edi, dword [esi + 0x8c]
jmp dword [eax*4 + 0x444a44]
push ecx
call fcn.004093b0
add esp, 4
mov eax, dword [case.0x42333e.159]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x444a60]
push dword [edi]
call fcn.00402f30
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push dword [edi]
call fcn.00402f30
add esp, 4
jmp dword [0x444a68]
mov eax, dword [esi + 0xa0]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x444a6c]
jmp dword [0x444a74]
mov eax, dword [esi + 0x68]
mov edx, dword [eax]
add edx, 4
mov dword [eax], edx
mov eax, dword [esi + 0x40]
add eax, 2
mov dword [esi + 0x38], eax
xor eax, eax
mov ecx, dword [esi + 0x70]
cmp edx, dword [ecx]
mov ecx, dword [esi + 0x44]
lea ecx, [ecx + 2]
mov dword [esi + 0x18], ecx
setne al
mov ecx, dword [esi + 0x24]
add ecx, 2
mov dword [esi + 8], ecx
jmp dword [eax*4 + 0x4449bc]
mov eax, dword [case.0x42333e.140]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov dword [esi + 0x28], 0x28292e2f
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov byte [esi + 0x34], 0
mov dword [esi + 0x58], 0
mov eax, dword [esi + 0x58]
cmp eax, 0xc
ja 0x4251d8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 0x58]
movzx ecx, byte [esi + eax + 0x28]
lea eax, [edx + 0x5a]
and eax, ecx
mov edi, 0xf0d003a5
sub edi, edx
or edi, ecx
not edi
add edi, ecx
sub edi, eax
mov dword [esi + 4], edi
mov eax, dword [esi + 4]
mov ecx, eax
or ecx, 0x89
and eax, 0x89
add eax, ecx
inc al
mov ecx, dword [esi + 0x58]
mov byte [esi + ecx + 0x28], al
inc dword [esi + 0x58]
mov eax, dword [esi + 0x58]
cmp eax, 0xd
jb 0x425190
mov ecx, dword [0x448ad4]
test ecx, ecx
je case.0x42333e.134
mov edx, dword [esi + 0x28]
xor edi, edi
mov eax, dword [0x448ad8]
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x11081610
je 0x425200
inc edi
cmp ecx, edi
jne 0x4251f0
jmp case.0x42333e.134
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je case.0x42333e.134
push dword [esi + 8]
push 1
push dword [0x448adc]
push eax
call fcn.00439d10
add esp, 0x10
nop
nop
nop
nop
mov eax, dword [case.0x42333e.180]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x444aa4]
push eax
call fcn.004093b0
add esp, 4
mov eax, dword [esi + 0x7c]
movzx eax, byte [eax]
mov ecx, dword [case.0x42333e.186]
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [eax*4 + 0x444abc]
jmp dword [0x444ac4]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x444ad4]
push edi
call fcn.004093b0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x444ae4]
xor eax, eax
mov ecx, dword [esi + 8]
test ecx, ecx
sete al
jmp dword [eax*4 + 0x444aec]
push ecx
call fcn.004093b0
add esp, 4
mov eax, dword [esi + 0x68]
mov edx, dword [eax]
add edx, 4
mov dword [eax], edx
mov eax, dword [esi + 0x40]
add eax, 2
mov dword [esi + 0x38], eax
xor eax, eax
mov ecx, dword [esi + 0x70]
cmp edx, dword [ecx]
mov ecx, dword [esi + 0x44]
lea ecx, [ecx + 2]
mov dword [esi + 0x18], ecx
setne al
mov ecx, dword [esi + 0x24]
add ecx, 2
mov dword [esi + 8], ecx
jmp dword [eax*4 + 0x4449bc]
push edi
call fcn.004093b0
add esp, 4
push edi
call fcn.004093b0
add esp, 4
jmp dword [0x444a80]
mov eax, dword [esi + 0xb4]
mov dword [eax], 0xcb1ecd68
mov dword [eax + 4], 0xc779c97b
mov dword [eax + 8], 0xc376c565
mov dword [eax + 0xc], 0xdf71c120
mov dword [eax + 0x10], 0xdb69dd50
mov dword [eax + 0x14], 0xd777d956
mov dword [eax + 0x18], 0xd36fd56f
mov dword [eax + 0x1c], 0xaf1ad174
mov dword [eax + 0x20], 0xab20ad11
mov dword [eax + 0x24], 0xa712a915
mov dword [eax + 0x28], 0xa31ca518
lea ecx, [eax + 0x2c]
mov dword [esi + 8], ecx
mov word [eax + 0x2c], 0xa1a0
mov dword [eax + 0x2e], 0
mov dword [eax + 0x32], 0
mov byte [eax + 0x36], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x36
ja 0x4253b6
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [eax + edx]
lea edi, [ecx - 0x512a5c5e]
add ecx, 0xa2
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x28], edi
mov ecx, dword [esi + 0x28]
add cl, 0x92
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x37
jb 0x425380
mov edx, eax
mov eax, dword [esi + 0x44]
mov edi, eax
mov ecx, 0xb
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x2c]
mov ecx, 1
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0x17
lea eax, [edx + edx]
add eax, 0x2e
test ecx, ecx
jns 0x4253f9
mov eax, 0xffffffff
push eax
call fcn.004093a0
add esp, 4
mov ecx, dword [esi + 0x78]
mov dword [ecx], eax
mov ecx, dword [esi + 0x48]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x425431
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x425420
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x425461
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x425450
mov word [eax], 0
mov ecx, dword [esi + 0x44]
movzx ecx, word [ecx]
test cx, cx
je 0x425491
mov edx, dword [esi + 0x18]
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 0x425480
mov word [eax], 0
mov eax, dword [esi + 0xb0]
mov dword [eax], 0x93049147
mov dword [eax + 4], 0x9f029d7d
mov dword [eax + 8], 0x9b0c9971
mov dword [eax + 0xc], 0x87668576
lea ecx, [eax + 0x10]
mov dword [esi + 8], ecx
mov word [eax + 0x10], 0x8186
mov dword [eax + 0x16], 0
mov dword [eax + 0x12], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x19
ja 0x425516
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [eax + edx]
lea edi, [ecx - 0x49e5783d]
add ecx, 0xc3
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x28], edi
mov ecx, dword [esi + 0x28]
add cl, 0xab
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
jb 0x4254e0
mov edx, eax
mov eax, dword [esi + 0x40]
mov edi, eax
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x10]
mov ecx, 1
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, eax
add ecx, 9
lea eax, [eax + eax + 0x12]
jns 0x42554d
mov eax, 0xffffffff
push eax
call fcn.004093a0
add esp, 4
mov ecx, dword [esi + 0x74]
mov dword [ecx], eax
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
mov edi, dword [esi + 0xac]
je 0x425591
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x425580
mov word [eax], 0
mov ecx, dword [esi + 0x40]
movzx ecx, word [ecx]
test cx, cx
je 0x4255c1
mov edx, dword [esi + 0x38]
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 0x4255b0
mov word [eax], 0
mov dword [edi], 0x6b6a6dba
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0xf
ja 0x425626
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
lea edx, [eax + 0xb2]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x109fe4b2
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
add al, 0x22
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x10
jb 0x4255f0
mov eax, dword [esi + 0x78]
mov edx, dword [eax]
mov eax, dword [esi + 0x74]
mov ecx, edi
mov edi, dword [eax]
push 0
push 0
push 0
push 0xc00000
push ecx
mov dword [esi + 8], edx
push edx
push edi
mov eax, dword [esi + 0x90]
push dword [eax]
call fcn.0041bd30
add esp, 0x20
mov ecx, dword [esi + 0x60]
or byte [ecx], al
jmp dword [0x444acc]
mov eax, dword [esi + 0xb4]
mov dword [eax], 0xcb1ecd68
mov dword [eax + 4], 0xc779c97b
mov dword [eax + 8], 0xc376c565
mov dword [eax + 0xc], 0xdf71c120
mov dword [eax + 0x10], 0xdb69dd50
mov dword [eax + 0x14], 0xd777d956
mov dword [eax + 0x18], 0xd36fd56f
mov dword [eax + 0x1c], 0xaf1ad174
mov dword [eax + 0x20], 0xab20ad11
mov dword [eax + 0x24], 0xa712a915
mov dword [eax + 0x28], 0xa31ca518
lea ecx, [eax + 0x2c]
mov dword [esi + 8], ecx
mov word [eax + 0x2c], 0xa1a0
mov dword [eax + 0x2e], 0
mov dword [eax + 0x32], 0
mov byte [eax + 0x36], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x36
ja 0x425716
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [eax + edx]
lea edi, [ecx - 0x512a5c5e]
add ecx, 0xa2
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x28], edi
mov ecx, dword [esi + 0x28]
add cl, 0x92
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x37
jb 0x4256e0
mov edx, eax
mov eax, dword [esi + 0x44]
mov edi, eax
mov ecx, 0xb
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x2c]
mov ecx, 1
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0x17
lea eax, [edx + edx]
add eax, 0x2e
test ecx, ecx
jns 0x425759
mov eax, 0xffffffff
push eax
call fcn.004093a0
add esp, 4
mov ecx, dword [esi + 0x78]
mov dword [ecx], eax
mov ecx, dword [esi + 0x48]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x425791
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x425780
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x4257c1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4257b0
mov word [eax], 0
mov ecx, dword [esi + 0x44]
movzx ecx, word [ecx]
test cx, cx
je 0x4257f1
mov edx, dword [esi + 0x18]
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 0x4257e0
mov word [eax], 0
mov eax, dword [esi + 0xb0]
mov dword [eax], 0x93049147
mov dword [eax + 4], 0x9f029d7d
mov dword [eax + 8], 0x9b0c9971
mov dword [eax + 0xc], 0x87668576
lea ecx, [eax + 0x10]
mov dword [esi + 8], ecx
mov word [eax + 0x10], 0x8186
mov dword [eax + 0x16], 0
mov dword [eax + 0x12], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x19
ja 0x425876
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [eax + edx]
lea edi, [ecx - 0x49e5783d]
add ecx, 0xc3
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x28], edi
mov ecx, dword [esi + 0x28]
add cl, 0xab
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
jb 0x425840
mov edx, eax
mov eax, dword [esi + 0x40]
mov edi, eax
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x10]
mov ecx, 1
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, eax
add ecx, 9
lea eax, [eax + eax + 0x12]
jns 0x4258ad
mov eax, 0xffffffff
push eax
call fcn.004093a0
add esp, 4
mov ecx, dword [esi + 0x74]
mov dword [ecx], eax
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
mov edi, dword [esi + 0xac]
je 0x4258f1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4258e0
mov word [eax], 0
mov ecx, dword [esi + 0x40]
movzx ecx, word [ecx]
test cx, cx
je 0x425921
mov edx, dword [esi + 0x38]
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 0x425910
mov word [eax], 0
mov dword [edi], 0x6b6a6dba
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0xf
ja 0x425986
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
lea edx, [eax + 0xb2]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x109fe4b2
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
add al, 0x22
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x10
jb 0x425950
push 0
push 0
push 0
push 0xc00000
push edi
mov eax, dword [esi + 0x78]
push dword [eax]
mov eax, dword [esi + 0x74]
push dword [eax]
mov eax, dword [esi + 0x90]
push dword [eax]
call fcn.0041bd30
add esp, 0x20
mov ecx, dword [esi + 0x60]
or byte [ecx], al
jmp case.0x42333e.190
push eax
mov ecx, esp
sub esp, 0x14
mov dword [esi + 0x18], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x48], esp
sub esp, 0x10
mov dword [esi + 0x3c], esp
sub esp, 0x18
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 8], edx
mov esp, edx
push eax
sub esp, 0x18
mov dword [esi + 0x14], esp
sub esp, 0x28
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x1c], edx
mov esp, edx
push eax
sub esp, 0x14
mov dword [esi + 0x38], esp
sub esp, 0x20
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x20], edx
mov esp, edx
push eax
sub esp, 8
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0x60], esp
push eax
mov dword [esi + 0x68], esp
push eax
mov dword [esi + 0x70], esp
push eax
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0x7c], esp
push eax
mov dword [esi + 0x10], esp
sub esp, 0x1c
mov dword [esi + 0x24], esp
sub esp, 0x28
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov dword [esi + 0x54], esp
push eax
mov dword [esi + 0x64], esp
push eax
mov dword [esi + 0xa4], esp
push eax
mov dword [esi + 0xa0], esp
push eax
mov dword [esi + 0x8c], esp
sub esp, 0x20
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xa8], edx
mov esp, edx
push eax
mov dword [esi + 0x98], esp
sub esp, 8
mov dword [esi + 0x9c], esp
sub esp, 8
mov dword [esi + 0x88], esp
sub esp, 0x10
mov dword [esi + 0x84], esp
sub esp, 0x18
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xbc], edx
mov esp, edx
push eax
mov dword [esi + 0x94], esp
sub esp, 0x30
mov dword [esi + 0x44], esp
sub esp, 0x38
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xb4], edx
mov esp, edx
push eax
mov dword [esi + 0x78], esp
sub esp, 0x14
mov dword [esi + 0x40], esp
sub esp, 0x20
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xb0], edx
mov esp, edx
push eax
mov dword [esi + 0x74], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xac], edx
mov esp, edx
mov dword [esi + 0x90], ecx
mov edx, dword [ebp + 8]
mov dword [ecx], edx
mov dword [eax], 0x73b36d49
mov dword [eax + 4], 0x77867180
mov dword [eax + 8], 0x7b9b75b0
mov dword [eax + 0xc], 0x7f9f798c
mov dword [eax + 0x10], 0x3027d59
lea ecx, [eax + 0x14]
mov dword [esi + 0x50], ecx
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1b
ja 0x425b79
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edi, dword [esi + 4]
movzx edi, byte [eax + edi]
lea edx, [ecx + edi]
add edx, 0x983bf62e
add ecx, 0x983bf62e
and ecx, edi
add ecx, ecx
sub edx, ecx
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x28]
add cl, 0xbe
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1c
jb 0x425b40
mov edx, dword [esi + 0x18]
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
xor ecx, ecx
mov eax, dword [esi + 0x50]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x4c]
push edi
push 0
push 0
push 9
push edx
push 0
call dword [0x448ad0]
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x425bb7
mov eax, 0xffffffff
push eax
call fcn.004093a0
add esp, 4
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
push dword [esi + 0x4c]
push edi
push eax
push 9
push dword [esi + 0x18]
push 0
call dword [0x448ad0]
mov edi, dword [esi + 8]
mov dword [edi], 0xb8b1552
mov dword [edi + 4], 0xfad099f
mov dword [edi + 8], 0x39a0d9f
mov dword [edi + 0xc], 0x70001a6
lea eax, [edi + 0x10]
mov dword [esi + 0x18], eax
mov dword [edi + 0x10], 0
mov byte [edi + 0x14], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x14
ja 0x425c7b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
movzx edi, byte [eax + edx]
lea eax, [ecx + 0x2a88e5ad]
and eax, edi
lea edx, [ecx + edi]
add edx, 0x2a88e5ad
add ecx, 0xad
and ecx, edi
mov edi, dword [esi + 8]
add ecx, eax
mov eax, edx
not eax
and eax, ecx
not ecx
and ecx, edx
sub ecx, eax
mov dword [esi + 0x28], ecx
mov eax, dword [esi + 0x28]
mov ecx, eax
xor ecx, 0x44
and eax, 0x44
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x15
jb 0x425c20
mov eax, dword [esi + 0x3c]
mov edx, edi
mov edi, eax
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
add eax, 0x10
mov edi, eax
xor ecx, ecx
mov eax, dword [esi + 0x18]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x1c]
mov dword [edi], 0xd37bd11a
mov dword [edi + 4], 0xdf71dd4f
mov dword [edi + 8], 0xdb4ad94f
mov dword [edi + 0xc], 0xc709c576
mov dword [edi + 0x10], 0xc356c165
mov dword [edi + 0x14], 0xcf5ecd61
mov dword [edi + 0x18], 0xcbc8c955
lea eax, [edi + 0x1c]
mov dword [esi + 8], eax
mov dword [edi + 0x1c], 0
mov dword [edi + 0x1f], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x22
ja 0x425d3c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
lea edi, [ecx + edx]
add edi, 0xb10ef523
add ecx, 0xb10ef523
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0x28], edi
mov edi, dword [esi + 0x1c]
mov ecx, dword [esi + 0x28]
add cl, 0xb
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x23
jb 0x425d00
mov edx, dword [esi + 0x14]
mov eax, edi
mov edi, edx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x1c
mov edi, edx
xor ecx, ecx
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x20]
mov dword [edi], 0xfb63f982
mov dword [edi + 4], 0xff99fd6f
mov dword [edi + 8], 0xf362f16f
mov dword [edi + 0xc], 0xf784f596
mov dword [edi + 0x10], 0xebaae982
lea eax, [edi + 0x14]
mov dword [esi + 8], eax
mov dword [edi + 0x14], 0xedea
mov byte [edi + 0x18], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x18
ja 0x425de9
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
mov edi, dword [esi + 0x20]
movzx edi, byte [edi + edx]
lea edx, [ecx + edi]
add edx, 0xcbc2fdf
add ecx, 0xcbc2fdf
and ecx, edi
add ecx, ecx
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov edi, dword [esi + 0x20]
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x28]
add cl, 0xe7
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x19
jb 0x425da0
mov ecx, 5
mov eax, dword [esi + 0x38]
mov edx, edi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
add eax, 0x14
mov edi, eax
mov ecx, 1
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edx, dword [esi + 0x5c]
mov eax, dword [esi + 0x3c]
mov dword [edx], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x38]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x60]
mov byte [eax], 0
mov eax, dword [esi + 0x68]
mov dword [eax], edx
lea ecx, [edx + 0xc]
mov eax, dword [esi + 0x70]
mov dword [eax], ecx
jmp dword [0x4449b4]
push eax
sub esp, 0x10
mov dword [esi + 0xc], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov dword [esi + 0x10], esp
sub esp, 0x10
mov dword [esi + 0x20], esp
sub esp, 0x18
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x18
mov dword [esi + 0x4c], esp
sub esp, 0x28
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x48], ecx
mov esp, ecx
push eax
sub esp, 0x14
mov dword [esi + 0x24], esp
sub esp, 0x20
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x54], ecx
mov esp, ecx
mov dword [eax], 0x73b36d49
mov dword [eax + 4], 0x77867180
mov dword [eax + 8], 0x7b9b75b0
mov dword [eax + 0xc], 0x7f9f798c
mov dword [eax + 0x10], 0x3027d59
lea ecx, [eax + 0x14]
mov dword [esi + 8], ecx
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1b
ja 0x425f09
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edi, dword [esi + 4]
movzx edi, byte [eax + edi]
lea edx, [ecx + edi]
add edx, 0x983bf62e
add ecx, 0x983bf62e
and ecx, edi
add ecx, ecx
sub edx, ecx
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x28]
add cl, 0xbe
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1c
jb 0x425ed0
mov edx, dword [esi + 0xc]
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
xor ecx, ecx
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x10]
push edi
push 0
push 0
push 9
push edx
push 0
call dword [0x448ad0]
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x425f47
mov eax, 0xffffffff
push eax
call fcn.004093a0
add esp, 4
push dword [esi + 0x10]
push edi
push eax
push 9
push dword [esi + 0xc]
push 0
call dword [0x448ad0]
mov dword [ebx], 0xb8b1552
mov dword [ebx + 4], 0xfad099f
mov dword [ebx + 8], 0x39a0d9f
mov dword [ebx + 0xc], 0x70001a6
lea eax, [ebx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ebx + 0x10], 0
mov byte [ebx + 0x14], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x14
ja 0x425ff5
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [ebx + edx]
lea eax, [ecx + 0x2a88e5ad]
and eax, edi
lea edx, [ecx + edi]
add edx, 0x2a88e5ad
add ecx, 0xad
and ecx, edi
add ecx, eax
mov eax, edx
not eax
and eax, ecx
not ecx
and ecx, edx
sub ecx, eax
mov dword [esi + 0x28], ecx
mov eax, dword [esi + 0x28]
mov ecx, eax
xor ecx, 0x44
and eax, 0x44
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x15
jb 0x425fa0
mov ecx, 4
mov eax, dword [esi + 0x20]
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add eax, 0x10
mov edi, eax
xor ecx, ecx
mov eax, dword [esi + 0xc]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [esi + 0x48]
mov dword [ebx], 0xd37bd11a
mov dword [ebx + 4], 0xdf71dd4f
mov dword [ebx + 8], 0xdb4ad94f
mov dword [ebx + 0xc], 0xc709c576
mov dword [ebx + 0x10], 0xc356c165
mov dword [ebx + 0x14], 0xcf5ecd61
mov dword [ebx + 0x18], 0xcbc8c955
lea eax, [ebx + 0x1c]
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x1f], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x22
ja 0x4260a9
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
lea edi, [ecx + edx]
add edi, 0xb10ef523
add ecx, 0xb10ef523
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0x28], edi
mov ecx, dword [esi + 0x28]
add cl, 0xb
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x23
jb 0x426070
mov ecx, 7
mov edx, dword [esi + 0x4c]
mov edi, edx
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [esi + 0x54]
mov dword [ebx], 0xfb63f982
mov dword [ebx + 4], 0xff99fd6f
mov dword [ebx + 8], 0xf362f16f
mov dword [ebx + 0xc], 0xf784f596
mov dword [ebx + 0x10], 0xebaae982
lea eax, [ebx + 0x14]
mov dword [ebx + 0x14], 0xedea
mov byte [ebx + 0x18], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x18
ja 0x426153
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [ebx + edx]
lea edx, [ecx + edi]
add edx, 0xcbc2fdf
add ecx, 0xcbc2fdf
and ecx, edi
add ecx, ecx
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x28]
add cl, 0xe7
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x19
jb 0x426110
mov ecx, 5
mov edx, dword [esi + 0x24]
mov edi, edx
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x14
mov edi, edx
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp case.0x42333e.120
mov eax, dword [esi + 0x40]
add eax, 2
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x44]
add eax, 2
mov dword [esi + 0x18], eax
xor eax, eax
cmp edx, ecx
mov ecx, dword [esi + 0x84]
lea ecx, [ecx + 2]
mov dword [esi + 0xb8], ecx
setne al
mov ecx, dword [esi + 0x24]
add ecx, 2
mov dword [esi + 8], ecx
mov dword [esi + 0x20], ebx
jmp dword [eax*4 + 0x4449bc]
mov eax, dword [case.0x42333e.129]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x444af4]
push eax
call fcn.004093b0
add esp, 4
mov eax, dword [esi + 0x60]
jmp dword [0x444afc]
mov eax, dword [esi + 0x60]
jmp dword [0x444afc]
jmp dword [0x444b08]
movzx eax, byte [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret