Function at 0x424213
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x2200
call fcn.00409030
mov dword [esp + 0x11f8], 0x4bf245fa
mov dword [esp + 0x11fc], 0x4f814981
mov dword [esp + 0x1200], 0x33f94d81
mov dword [esp + 0x1204], 0x37863186
mov dword [esp + 0x1208], 0x3b883589
mov dword [esp + 0x120c], 0x3f8d3981
mov dword [esp + 0x1210], 0x238a3df5
mov word [esp + 0x1214], 0x2122
mov dword [esp + 0x1216], 0
mov byte [esp + 0x121a], 0
mov dword [esp + 0xa88], 0
mov eax, dword [esp + 0xa88]
cmp eax, 0x22
ja 0x41deeb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa88]
mov ecx, dword [esp + 0xa88]
movzx ecx, byte [esp + ecx + 0x11f8]
mov edx, eax
and edx, 0x2535
xor eax, 0x2535
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
add al, 0x8d
mov ecx, dword [esp + 0xa88]
mov byte [esp + ecx + 0x11f8], al
mov eax, dword [esp + 0xa88]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
cmp eax, 0x23
jb 0x41de80
lea eax, [esp + 0x20]
lea esi, [esp + 0x11f8]
push 0
push 0
push 0x20019
push eax
push esi
call fcn.00439ef0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x441700]
movzx ecx, word [esp + 0x11f8]
xor ebx, ebx
test cx, cx
je 0x41f873
lea eax, [esp + 0x11f8]
jmp 0x41f772
push esi
call fcn.00409070
add esp, 4
mov ecx, dword [esp + 0x10]
inc ecx
xor eax, eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x34]
setb al
jmp dword [eax*4 + 0x441710]
mov dword [esp + 0x88], 0x3bd339f9
mov dword [esp + 0x8c], 0x3fce3ddf
mov dword [esp + 0x90], 0xc335c1cf
mov dword [esp + 0x94], 0xc722c533
mov dword [esp + 0x98], 0xcb14c932
mov dword [esp + 0x9c], 0xcf27cd13
mov dword [esp + 0xa0], 0xd334d120
mov dword [esp + 0xa4], 0xd72dd523
mov dword [esp + 0xa8], 0xdbf8d923
mov dword [esp + 0xac], 0xdf3bdd15
mov dword [esp + 0xb0], 0xe315e12b
mov dword [esp + 0xb4], 0xe70de501
mov dword [esp + 0xb8], 0xeb06e90d
mov dword [esp + 0xbc], 0xefcced03
mov dword [esp + 0xc0], 0xf307f13b
mov dword [esp + 0xc4], 0xf701f510
mov dword [esp + 0xc8], 0xfb0df90d
mov dword [esp + 0xcc], 0xff1bfd0e
mov dword [esp + 0xd0], 0x835c8111
mov dword [esp + 0xd4], 0x87768552
mov dword [esp + 0xd8], 0x8b6e8977
mov dword [esp + 0xdc], 0x8f608d61
mov dword [esp + 0xe0], 0x93659169
mov dword [esp + 0xe4], 0x97af954e
mov dword [esp + 0xe8], 0x9ba199a3
mov dword [esp + 0xec], 0x9f599dad
mov dword [esp + 0xf0], 0xa366a158
mov dword [esp + 0xf4], 0xa790a592
mov dword [esp + 0xf8], 0xab9da995
mov dword [esp + 0xfc], 0xaf9fad99
mov dword [esp + 0x100], 0xb354b19d
mov dword [esp + 0x104], 0xb776b587
mov dword [esp + 0x108], 0xbb80b98e
mov dword [esp + 0x10c], 0xbf8cbd79
mov dword [esp + 0x110], 0x4373418e
mov dword [esp + 0x114], 0x47704572
mov dword [esp + 0x118], 0x4b7a4984
mov dword [esp + 0x11c], 0x4f7a4d89
mov dword [esp + 0x120], 0x53695178
mov dword [esp + 0x124], 0x57885564
mov word [esp + 0x128], 0x5956
lea eax, [esp + 0x128]
mov dword [eax + 5], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa8
ja 0x41e23d
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx edx, byte [esp + ecx + 0x88]
mov ecx, 0x18636988
sub ecx, eax
add eax, 0x77
and eax, edx
or ecx, edx
not ecx
add ecx, edx
sub ecx, eax
mov dword [esp + 0xa88], ecx
mov eax, dword [esp + 0xa88]
add al, 0xbf
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xa9
jb 0x41e1e0
mov dword [esp + 0x64], esi
lea edi, [esp + 0xf2c]
lea eax, [esp + 0x88]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x128]
mov ecx, 1
lea edi, [esp + 0xfcc]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xb30bb1ed
mov dword [esp + 0x8c], 0xb704b517
mov dword [esp + 0x90], 0x8b398937
mov dword [esp + 0x94], 0x8f288d33
mov dword [esp + 0x98], 0x832e8134
mov dword [esp + 0x9c], 0x873f85d3
mov dword [esp + 0xa0], 0x9b3e9926
mov dword [esp + 0xa4], 0x9f299d23
mov dword [esp + 0xa8], 0x93f29123
mov dword [esp + 0xac], 0x97c295ca
mov dword [esp + 0xb0], 0xeba9e944
mov dword [esp + 0xb4], 0xef5ced59
mov dword [esp + 0xb8], 0xe347e152
mov dword [esp + 0xbc], 0xe752e55a
mov dword [esp + 0xc0], 0xfb5ff9ae
mov dword [esp + 0xc4], 0xff4dfd4e
mov dword [esp + 0xc8], 0xf34df149
mov dword [esp + 0xcc], 0xf75af54a
mov dword [esp + 0xd0], 0xcb73c99f
mov dword [esp + 0xd4], 0xcf6acd72
mov dword [esp + 0xd8], 0xc375c17f
mov dword [esp + 0xdc], 0xc7a6c577
mov dword [esp + 0xe0], 0xdb7fd985
mov dword [esp + 0xe4], 0xdf6ddd6f
mov dword [esp + 0xe8], 0xd375d171
mov dword [esp + 0xec], 0xd768d56d
mov dword [esp + 0xf0], 0x2b4a298f
mov dword [esp + 0xf4], 0x2f9b2d7f
mov dword [esp + 0xf8], 0x23912182
mov dword [esp + 0xfc], 0x279525ad
mov dword [esp + 0x100], 0x3b9f398c
mov dword [esp + 0x104], 0x3f923d81
mov dword [esp + 0x108], 0x33803160
mov dword [esp + 0x10c], 0x3790358b
mov dword [esp + 0x110], 0xbb609b1
mov dword [esp + 0x114], 0xfbd0da9
mov dword [esp + 0x118], 0x35d01ac
mov dword [esp + 0x11c], 0x7b205b1
mov dword [esp + 0x120], 0x1ba519a4
mov dword [esp + 0x124], 0x1fa51da3
mov dword [esp + 0x128], 0x135b11bc
mov dword [esp + 0x12c], 0x17611567
mov dword [esp + 0x130], 0x6b29691d
mov dword [esp + 0x134], 0x6f286d2a
mov dword [esp + 0x138], 0x63166110
mov dword [esp + 0x13c], 0x67156515
mov dword [esp + 0x140], 0x7b0b7909
mov dword [esp + 0x144], 0x7fda7d0d
mov dword [esp + 0x148], 0x73307103
mov dword [esp + 0x14c], 0x773e753c
mov dword [esp + 0x150], 0x4b3a4909
mov dword [esp + 0x154], 0x4f3f4d3c
mov dword [esp + 0x158], 0x43364130
mov dword [esp + 0x15c], 0x47344506
mov dword [esp + 0x160], 0x5b2c5919
mov dword [esp + 0x164], 0x5f295d2a
mov dword [esp + 0x168], 0x53fe5126
mov word [esp + 0x16c], 0x5554
mov dword [esp + 0x16e], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xe9
ja 0x41e58f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edx, [eax + ecx]
add edx, 0x35143218
add eax, 0x18
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, edx
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
mov ecx, eax
or ecx, 0x57
and eax, 0x57
add eax, ecx
inc al
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xea
jb 0x41e520
lea edi, [esp + 0xfce]
lea eax, [esp + 0x88]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x16c]
mov ecx, 1
lea edi, [esp + 0x10b2]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x33ab318d
mov dword [esp + 0x8c], 0x37a43597
mov dword [esp + 0x90], 0x2bb929b7
mov dword [esp + 0x94], 0x2f882db3
mov dword [esp + 0x98], 0x238e21b4
mov dword [esp + 0x9c], 0x2780259b
mov dword [esp + 0xa0], 0x1b8319be
mov dword [esp + 0xa4], 0x1fbb1dbf
mov dword [esp + 0xa8], 0x134311bc
mov dword [esp + 0xac], 0x17481547
mov dword [esp + 0xb0], 0xba60958
mov dword [esp + 0xb4], 0xf9b0db3
mov dword [esp + 0xb8], 0x39e0194
mov dword [esp + 0xbc], 0x799059b
mov dword [esp + 0xc0], 0x7bd679e3
mov dword [esp + 0xc4], 0x7fec7dcc
mov dword [esp + 0xc8], 0x73d471ef
mov dword [esp + 0xcc], 0x77ea75ed
mov dword [esp + 0xd0], 0x6bf969cd
mov dword [esp + 0xd4], 0x6fd16dc0
mov dword [esp + 0xd8], 0x63f661f5
mov dword [esp + 0xdc], 0x67f965f8
mov dword [esp + 0xe0], 0x5bc159c7
mov dword [esp + 0xe4], 0x5f175df0
mov dword [esp + 0xe8], 0x53055103
mov dword [esp + 0xec], 0x57155501
mov dword [esp + 0xf0], 0x4b0c490e
mov dword [esp + 0xf4], 0x4f1a4d1c
mov dword [esp + 0xf8], 0x43114111
mov dword [esp + 0xfc], 0x47174515
mov dword [esp + 0x100], 0xbb1eb9e9
mov dword [esp + 0x104], 0xbffcbdef
mov dword [esp + 0x108], 0xb3fab1f8
mov dword [esp + 0x10c], 0xb7e6b5f5
mov dword [esp + 0x110], 0xabfba9f8
mov dword [esp + 0x114], 0xaffaadfc
mov dword [esp + 0x118], 0xa3f0a1e2
mov dword [esp + 0x11c], 0xa7f0a5e5
mov dword [esp + 0x120], 0x9bcd99ce
mov dword [esp + 0x124], 0x9f329dca
mov word [esp + 0x128], 0x9190
lea eax, [esp + 0x128]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa7
ja 0x41e82c
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx edx, byte [esp + ecx + 0x88]
lea esi, [eax - 0x4602eb78]
lea ecx, [eax + edx]
add ecx, 0xb9fd1488
add eax, 0x88
or eax, esi
and esi, edx
and eax, edx
add eax, esi
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
mov ecx, eax
xor ecx, 0x47
and eax, 0x47
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xa8
jb 0x41e7b0
lea edi, [esp + 0xe8a]
lea eax, [esp + 0x88]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x128]
lea edi, [esp + 0xf2a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x731b6d21
mov dword [esp + 0x8c], 0x77007117
mov dword [esp + 0x90], 0x7b0d7507
mov dword [esp + 0x94], 0x7f14790b
mov dword [esp + 0x98], 0x83de7d08
mov dword [esp + 0x9c], 0x87ec81d3
mov dword [esp + 0xa0], 0x8be385ee
mov dword [esp + 0xa4], 0x8feb89ef
mov dword [esp + 0xa8], 0x93a38dd0
mov dword [esp + 0xac], 0x97a491a4
mov dword [esp + 0xb0], 0x9bc695a4
mov dword [esp + 0xb4], 0x9feb99cb
mov dword [esp + 0xb8], 0xa3ce9de8
mov dword [esp + 0xbc], 0xa7d5a1d3
mov dword [esp + 0xc0], 0xabf6a5cb
mov dword [esp + 0xc4], 0xafd8a9f8
mov dword [esp + 0xc8], 0xb3d8addf
mov dword [esp + 0xcc], 0xb7dab1d9
mov dword [esp + 0xd0], 0xbbcdb5d1
mov dword [esp + 0xd4], 0xbfedb9e4
mov dword [esp + 0xd8], 0xc3b6bdc9
mov dword [esp + 0xdc], 0xc7b5c1ac
mov dword [esp + 0xe0], 0xcba5c5b7
mov dword [esp + 0xe4], 0xcff7c994
mov dword [esp + 0xe8], 0xd3e9cdfb
mov dword [esp + 0xec], 0xd791d1e5
mov dword [esp + 0xf0], 0xdb90d59e
mov dword [esp + 0xf4], 0xdfead9e8
mov dword [esp + 0xf8], 0xe3d5dded
mov dword [esp + 0xfc], 0xe7d7e1d1
mov dword [esp + 0x100], 0xeb8ee5d5
mov dword [esp + 0x104], 0xefa8e9df
mov dword [esp + 0x108], 0xf3caedd4
mov dword [esp + 0x10c], 0xf7c6f1b1
mov dword [esp + 0x110], 0xfbcbf5c4
mov dword [esp + 0x114], 0xffcaf9c8
mov dword [esp + 0x118], 0x334fdba
mov dword [esp + 0x11c], 0x73c0141
mov dword [esp + 0x120], 0xb31053e
mov dword [esp + 0x124], 0xf520932
mov word [esp + 0x128], 0xd0c
mov dword [esp + 0x12e], 0
mov dword [esp + 0x12a], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa9
ja 0x41eaaf
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx edx, byte [esp + ecx + 0x88]
mov ecx, 0xae39a311
sub ecx, eax
add eax, 0xee
and eax, edx
or ecx, edx
not ecx
add ecx, edx
sub ecx, eax
mov dword [esp + 0xa88], ecx
mov eax, dword [esp + 0xa88]
add al, 0x7e
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xaa
jb 0x41ea50
lea edx, [esp + 0x1156]
lea eax, [esp + 0x88]
mov ecx, 0x28
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x128]
lea edi, [esp + 0x11f6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x433b4111
mov dword [esp + 0x8c], 0x5f2e5d3f
mov dword [esp + 0x90], 0x5bd5592f
mov dword [esp + 0x94], 0x572a552b
mov dword [esp + 0x98], 0x533451da
mov dword [esp + 0x9c], 0x6f126d03
mov dword [esp + 0xa0], 0x6b136910
mov dword [esp + 0xa4], 0x671b6517
mov dword [esp + 0xa8], 0x63536102
mov dword [esp + 0xac], 0x7f4a7d2d
mov dword [esp + 0xb0], 0x7b1c794e
mov dword [esp + 0xb4], 0x77fb752b
mov dword [esp + 0xb8], 0x730471fa
mov dword [esp + 0xbc], 0x8ffd8d03
mov dword [esp + 0xc0], 0x8bec89fb
mov dword [esp + 0xc4], 0x87f685da
mov dword [esp + 0xc8], 0x83fe81f7
mov dword [esp + 0xcc], 0x9fe89df9
mov dword [esp + 0xd0], 0x9b1599e1
mov dword [esp + 0xd4], 0x97c595fe
mov dword [esp + 0xd8], 0x931c9119
mov dword [esp + 0xdc], 0xafddade6
mov dword [esp + 0xe0], 0xabdda9df
mov dword [esp + 0xe4], 0xa7efa5ce
mov dword [esp + 0xe8], 0xa3e9a1eb
mov dword [esp + 0xec], 0xbfe1bded
mov dword [esp + 0xf0], 0xbbe6b9e0
mov dword [esp + 0xf4], 0xb7f8b58a
mov dword [esp + 0xf8], 0xb3fdb185
mov dword [esp + 0xfc], 0xcfffcd81
mov dword [esp + 0x100], 0xcbb4c9fd
mov dword [esp + 0x104], 0xc786c587
mov dword [esp + 0x108], 0xc388c18e
mov dword [esp + 0x10c], 0xdfecdd81
mov dword [esp + 0x110], 0xdbebd9ee
mov dword [esp + 0x114], 0xd798d5ea
mov dword [esp + 0x118], 0xd3e2d194
mov dword [esp + 0x11c], 0xefa2ed91
mov dword [esp + 0x120], 0xeba1e9a0
mov dword [esp + 0x124], 0xe780e5a4
mov word [esp + 0x128], 0xe1e6
mov dword [esp + 0x12e], 0
mov dword [esp + 0x12a], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa9
ja 0x41ed4b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
add eax, 0x26412dcb
mov esi, eax
and esi, ecx
mov edi, eax
xor edi, ecx
lea ebx, [edi + esi*2]
or eax, ecx
xor eax, edi
add eax, esi
mov ecx, ebx
xor ecx, eax
not eax
and eax, ebx
add eax, eax
sub eax, ecx
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0x73
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xaa
jb 0x41ece0
lea eax, [esp + 0x10b4]
lea esi, [esp + 0x88]
mov ecx, 0x28
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x128]
mov ecx, 1
lea edi, [esp + 0x1154]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xf2c]
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0xfce]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0xe8a]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
xor ecx, ecx
xor eax, eax
cmp ecx, 5
setne al
jmp dword [eax*4 + 0x441758]
mov dword [esp + 0x68], ecx
mov eax, dword [esp + ecx*4 + 0x74]
mov dword [esp + 0x88], 0xb3c4b5c6
mov dword [esp + 0x8c], 0x8fc0b1c2
mov dword [esp + 0x90], 0x8bfc8dfe
mov dword [esp + 0x94], 0x872089fa
mov word [esp + 0x98], 0x8586
lea ecx, [esp + 0x128]
mov byte [ecx - 0x82], 0
mov dword [ecx - 0x86], 0
mov dword [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0x1e
ja 0x41eeac
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx esi, byte [esp + edx + 0x88]
mov edx, 0x2e9028e6
sub edx, ecx
add ecx, 0x19
and ecx, esi
or edx, esi
not edx
add edx, esi
sub edx, ecx
mov dword [esp + 0xa88], edx
mov ecx, dword [esp + 0xa88]
add cl, 0x51
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0x1f
jb 0x41ee50
movzx ecx, word [eax]
lea esi, [esp + 0x888]
test cx, cx
je 0x41eee1
add eax, 2
lea esi, [esp + 0x888]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41eed0
mov word [esi], 0
movzx eax, word [esp + 0x88]
test ax, ax
je 0x41ef11
lea ecx, [esp + 0x8a]
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ef00
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x6c], esi
jmp dword [eax*4 + 0x441760]
mov word [esi - 2], di
lea eax, [esp + 0x60]
lea ecx, [esp + 0x888]
push dword [esp + 0x28]
push 0
push 0x20019
push eax
push ecx
call fcn.00439ef0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441768]
jmp dword [0x441774]
mov dword [esp + 0x5c], 0x800
jmp dword [0x44177c]
mov dword [esp + 0x5c], 0x800
jmp dword [0x44177c]
mov dword [esp + 0x70], edi
mov dword [esp + 0x24], 0x400
xor esi, esi
mov dword [esp + 0x1c], 0
jmp 0x41efc1
mov esi, dword [esp + 8]
mov word [esi], 0xa
add esi, 2
mov dword [esp + 8], esi
mov al, 1
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0xc]
inc esi
lea eax, [esp + 0x24]
lea edi, [esp + 0xa88]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x5c]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x98]
push eax
mov dword [esp + 0x20], esi
push esi
push dword [esp + 0x78]
call fcn.0043a610
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441780]
mov eax, dword [esp + 0x1c]
and al, 1
movzx ecx, al
xor eax, eax
jmp dword [ecx*4 + 0x441788]
xor ecx, ecx
cmp dword [esp + 0x58], 1
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x441790]
movzx eax, al
jmp dword [eax*4 + 0x441798]
jmp dword [0x4417a4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4417a8]
xor eax, eax
cmp dword [esp + 0x58], 3
sete al
jmp dword [eax*4 + 0x4417b0]
xor eax, eax
movzx eax, al
jmp dword [eax*4 + 0x4417b8]
mov dword [esp + 0x38], 0xeb31d511
mov dword [esp + 0x3c], 0xef19e90f
mov dword [esp + 0x40], 0xe31eed65
mov dword [esp + 0x44], 0xe7e0e116
lea eax, [esp + 0x48]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x12
ja 0x41f0f5
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x38]
lea edx, [eax - 0xf2d1de3]
and edx, ecx
add eax, ecx
add eax, 0xf0d2e21d
add edx, edx
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
xor ecx, 0x34
and eax, 0x34
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x38], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x13
jb 0x41f0b0
movzx ebx, word [esp + 0x38]
test bx, bx
je 0x41f262
lea edx, [esp + 0x88]
lea ecx, [esp + 0x38]
mov dword [esp + 4], edx
jmp 0x41f12c
movzx ebx, word [ecx]
test bx, bx
je 0x41f277
movzx eax, word [edx]
test ax, ax
je 0x41f26f
add edx, 2
add ecx, 2
mov esi, dword [esp + 4]
add esi, 2
cmp ax, bx
je 0x41f150
mov edx, esi
mov dword [esp + 4], esi
je 0x41f120
lea ecx, [esp + 0x38]
jmp 0x41f120
mov dword [esp + 0x38], 0xfb5bf9b6
mov dword [esp + 0x3c], 0xff69fd6f
mov dword [esp + 0x40], 0xf361f177
mov dword [esp + 0x44], 0xf750f560
mov word [esp + 0x48], 0xe9f6
mov dword [esp + 0x4e], 0
mov dword [esp + 0x4a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x41f202
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx edx, byte [esp + ecx + 0x38]
lea ecx, [eax + edx]
add ecx, 0x37599f7f
add eax, 0x7f
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 + 0x18], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
or ecx, 0x86
and eax, 0x86
add eax, ecx
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x38], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x41f1b0
movzx edi, word [esp + 0x38]
lea eax, [esp + 0x88]
test di, di
je 0x41f363
lea eax, [esp + 0x88]
lea ecx, [esp + 0x38]
mov edx, eax
jmp 0x41f23c
movzx edi, word [ecx]
test di, di
je 0x41f363
movzx ebx, word [edx]
test bx, bx
je 0x41f361
add edx, 2
add ecx, 2
lea esi, [eax + 2]
cmp bx, di
je 0x41f25a
mov edx, esi
mov eax, esi
je 0x41f230
lea ecx, [esp + 0x38]
jmp 0x41f230
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
jmp 0x41f277
mov dword [esp + 4], 0
xor eax, eax
cmp dword [esp + 4], 0
setne al
jmp dword [eax*4 + 0x441798]
mov eax, dword [esp + 0x24]
cmp eax, 2
mov ecx, dword [esp + 0xc]
jae 0x41f2a0
mov esi, dword [esp + 8]
jmp 0x41f346
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
mov dword [esp + 4], ecx
je 0x41f2da
lea edi, [esp + 0xa88]
mov esi, dword [esp + 8]
nop
nop
nop
nop
nop
dec eax
movzx ecx, word [edi]
xor ebx, ebx
test cx, cx
setne bl
lea edi, [edi + ebx*2]
mov word [esi], cx
add esi, 2
dec edx
jne 0x41f2c0
jmp 0x41f2de
mov esi, dword [esp + 8]
cmp dword [esp + 4], 3
mov ecx, dword [esp + 0xc]
jb 0x41f346
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
mov word [esi], cx
lea ecx, [edi + edx*2]
movzx edx, word [edi + edx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 2], dx
lea edx, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [esi + 4], cx
lea ecx, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [ecx + ebx*2]
mov word [esi + 6], dx
add esi, 8
add eax, 0xfffffffc
jne 0x41f2f0
mov ecx, dword [esp + 0xc]
mov dword [esi], 0x20003a
add esi, 4
mov dword [esp + 8], esi
mov al, 1
mov dword [esp + 0x1c], eax
inc ecx
mov esi, ecx
jmp 0x41efc1
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4417b8]
mov eax, dword [esp + 0x24]
cmp eax, 2
jb 0x41efa6
shr eax, 1
lea ecx, [eax - 1]
mov edi, eax
and edi, 3
mov dword [esp + 4], ecx
lea ecx, [esp + 0xa88]
je 0x41f3c4
mov esi, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
dec eax
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea ecx, [ecx + ebx*2]
mov word [esi], dx
add esi, 2
dec edi
jne 0x41f3a0
cmp dword [esp + 4], 3
jae 0x41f3e0
jmp 0x41efaa
mov esi, dword [esp + 8]
cmp dword [esp + 4], 3
jb 0x41efaa
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 0x41f3e0
jmp 0x41efaa
mov eax, dword [esp + 0x60]
mov dword [esp + 0x38], 0x8a858487
lea ecx, [esp + 0x48]
mov word [ecx - 4], 0
mov dword [ecx - 8], 0
mov dword [ecx - 0xc], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xd
ja 0x41f4b7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x38]
lea esi, [ecx - 0x46089feb]
add ecx, 0x15
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x18]
add cl, 0x6d
mov edx, dword [esp]
mov byte [esp + edx + 0x38], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe
jb 0x41f480
mov ecx, dword [0x446f44]
test ecx, ecx
je 0x41f500
mov edx, dword [esp + 0x38]
xor edi, edi
mov ebx, dword [0x446f48]
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x41f4e0
inc edi
cmp ecx, edi
jne 0x41f4d0
jmp 0x41f500
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41f500
push eax
push 1
push dword [0x446f4c]
push ecx
call fcn.00436a70
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x41edb9.4]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
nop
nop
nop
jmp eax
inc edi
mov eax, dword [case.0x41edb9.33]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x441760]
mov ecx, dword [esp + 0x68]
inc ecx
xor eax, eax
cmp ecx, 5
setne al
jmp dword [eax*4 + 0x441758]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x88], 0x8a858487
lea ecx, [esp + 0x128]
mov word [ecx - 0x94], 0
mov dword [ecx - 0x98], 0
mov dword [ecx - 0x9c], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0xd
ja 0x41f5e7
mov ecx, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx edx, byte [esp + edx + 0x88]
lea esi, [ecx - 0x46089feb]
add ecx, 0x15
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xa88], esi
mov ecx, dword [esp + 0xa88]
add cl, 0x6d
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0xe
jb 0x41f590
mov ecx, dword [0x446f44]
test ecx, ecx
mov esi, dword [esp + 0x64]
je 0x41f640
mov edx, dword [esp + 0x88]
xor edi, edi
mov ebx, dword [0x446f48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x41f620
inc edi
cmp ecx, edi
jne 0x41f610
jmp 0x41f640
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41f640
push eax
push 1
push dword [0x446f4c]
push ecx
call fcn.00436a70
add esp, 0x10
nop
nop
nop
nop
nop
nop
jmp dword [0x4417e0]
jmp dword [0x4417e0]
add ebx, esi
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, dword [esp + 8]
je 0x41f79a
cmp eax, edx
jae 0x41f79a
movzx edi, cx
xor ecx, ecx
cmp edi, 0x800
setb dl
mov esi, 1
cmp edi, 0x80
jb 0x41f760
mov cl, dl
xor ecx, 3
mov esi, ecx
jmp 0x41f760
lea esi, [ebx + 1]
push esi
call fcn.00409060
add esp, 4
test ebx, ebx
mov dword [esp + 0x14], eax
jle 0x41f887
lea ecx, [eax + ebx]
mov dword [esp + 0xc], ecx
add esi, eax
mov dword [esp + 0x1c], esi
lea edx, [esp + 0x11f8]
mov dword [esp + 4], ebx
jmp 0x41f7ea
mov byte [eax], bl
mov edi, 1
add edx, 2
add eax, edi
cmp eax, dword [esp + 0xc]
mov ebx, dword [esp + 4]
jae 0x41f887
cmp edx, dword [esp + 8]
jae 0x41f887
movzx ebx, word [edx]
test bx, bx
je 0x41f883
cmp bx, 0x7f
jbe 0x41f7d0
mov esi, eax
not esi
mov edi, esi
mov ecx, dword [esp + 0x1c]
and edi, ecx
xor esi, ecx
lea ecx, [esi + edi*2]
movzx esi, bx
xor edi, edi
cmp esi, 0x7ff
ja 0x41f843
cmp ecx, 2
jb 0x41f7d7
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [eax], cl
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
mov edi, 2
jmp 0x41f7d7
cmp ecx, 3
jb 0x41f7d7
mov ecx, esi
shr ecx, 0xc
or cl, 0xe0
mov byte [eax], cl
mov ecx, esi
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [eax + 1], cl
and bl, 0x3f
or bl, 0x80
mov byte [eax + 2], bl
mov edi, 3
jmp 0x41f7d7
push 1
call fcn.00409060
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x41f887
mov ebx, dword [esp + 4]
mov ecx, dword [ebp + 8]
mov byte [eax], 0
mov dword [esp + 0x88], 0x37303145
mov dword [esp + 0x8c], 0x133f2039
mov dword [esp + 0x90], 0x162e2825
mov dword [esp + 0x94], 0x1b1b446b
mov dword [esp + 0x98], 0x26212022
mov dword [esp + 0x9c], 0xdedebd63
mov dword [esp + 0xa0], 0xd4dcd2d0
mov dword [esp + 0xa4], 0xefe893e7
mov word [esp + 0xa8], 0x61ea
mov dword [esp + 0xae], 0
mov dword [esp + 0xaa], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0x29
ja 0x41f97b
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx edx, byte [esp + edx + 0x88]
lea esi, [eax + edx]
add esi, 0x475ff16b
add eax, 0x475ff16b
and eax, edx
add eax, eax
sub esi, eax
mov dword [esp + 0xa88], esi
mov eax, dword [esp + 0xa88]
add al, 0x13
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0x2a
jb 0x41f920
lea eax, [esp + 0x88]
push ebx
mov esi, dword [esp + 0x18]
push esi
push eax
call fcn.00409960
jmp dword [0x4417f8]
push esi
mov esi, eax
call fcn.00409070
mov eax, esi
add esp, 4
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor ecx, ecx
cmp ebx, edi
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x441f54]
movzx ecx, word [edi]
test cx, cx
mov dword [esp + 8], edi
je 0x420618
xor esi, esi
mov eax, edi
jmp 0x420517
xor edx, edx
test eax, eax
sete dl
mov eax, 0x20119
xor ecx, ecx
mov edi, dword [esp + 8]
jmp dword [edx*4 + 0x441f4c]
mov esi, edi
jmp dword [ecx*4 + 0x441ec4]
mov dword [esp + 0x58], 0x4ba255ba
mov dword [esp + 0x5c], 0x4fb149b1
mov dword [esp + 0x60], 0x43b94db1
mov dword [esp + 0x64], 0x47b641b6
mov dword [esp + 0x68], 0x7ba845a9
mov dword [esp + 0x6c], 0x7fbf7989
mov dword [esp + 0x70], 0x73847dbb
mov dword [esp + 0x74], 0x7782718d
mov dword [esp + 0x78], 0x6b98758d
mov dword [esp + 0x7c], 0x6f99699f
mov dword [esp + 0x80], 0x63986d94
mov dword [esp + 0x84], 0x67a7618b
mov dword [esp + 0x88], 0x1b9f6590
mov dword [esp + 0x8c], 0x1feb19f6
mov dword [esp + 0x90], 0x13f91d81
mov dword [esp + 0x94], 0x17811184
mov dword [esp + 0x98], 0xb851583
mov dword [esp + 0x9c], 0xf9c0990
mov dword [esp + 0xa0], 0x3e50de2
mov dword [esp + 0xa4], 0x792019d
mov dword [esp + 0xa8], 0x3b9505e2
mov dword [esp + 0xac], 0x3fad39b3
mov dword [esp + 0xb0], 0x33f93dd2
mov dword [esp + 0xb4], 0x37a631b9
mov dword [esp + 0xb8], 0x2baf35a0
mov dword [esp + 0xbc], 0x2fbc29b8
mov dword [esp + 0xc0], 0x23b72dc4
mov dword [esp + 0xc4], 0x27b521b4
mov dword [esp + 0xc8], 0xdbb525b9
mov dword [esp + 0xcc], 0xdf34d948
mov dword [esp + 0xd0], 0xd34edd35
mov dword [esp + 0xd4], 0xd742d14d
mov dword [esp + 0xd8], 0xcb40d543
mov dword [esp + 0xdc], 0xcf54c92d
mov dword [esp + 0xe0], 0xc3cccd52
lea ecx, [esp + 0xe4]
mov byte [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x94
ja 0x41fffa
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edi, byte [esp + edx + 0x58]
lea edx, [ecx + edi]
add edx, 0xd4ae9e8d
add ecx, 0xd4ae9e8d
and ecx, edi
add ecx, ecx
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0x25
mov edx, dword [esp]
mov byte [esp + edx + 0x58], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x95
jb 0x41ffb0
lea ecx, [esp + 0x18]
lea edi, [esp + 0x58]
push 0
push 0
push eax
push ecx
push edi
call fcn.00439ef0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x441ecc]
lea eax, [esp + 0x54]
lea ecx, [esp + 0x14]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x38]
call fcn.0043a2f0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441ed4]
mov dword [esp + 8], esi
jmp 0x4200a1
mov eax, 4
xor ecx, ecx
cmp eax, 4
setb cl
mov dword [esp + 8], esi
jmp dword [ecx*4 + 0x441f3c]
mov ebx, dword [esp + 0x10]
mov edx, esi
mov dword [esp + 0xc], esi
jmp dword [0x441edc]
mov esi, ebx
jmp 0x4204a0
mov word [ebx], 0
mov eax, ebx
sub eax, dword [esp + 8]
sar eax, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov dword [esp + 0x58], 0xbcbdbebf
lea eax, [esp + 0xe4]
mov dword [eax - 0x81], 0
mov dword [eax - 0x84], 0
mov dword [eax - 0x88], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xe
ja 0x420133
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x58]
lea edx, [ecx + eax]
add edx, 0x3381f218
add ecx, 0x18
and ecx, eax
add ecx, ecx
mov eax, ecx
xor eax, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
add al, 0x58
mov ecx, dword [esp]
mov byte [esp + ecx + 0x58], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xf
jb 0x4200f0
mov ecx, dword [0x446f44]
test ecx, ecx
je case.default.0x42018c
mov edx, dword [esp + 0x58]
xor esi, esi
mov eax, dword [0x446f48]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + esi*8], 0x11081610
je 0x420160
inc esi
cmp ecx, esi
jne 0x420150
jmp case.default.0x42018c
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
je case.default.0x42018c
push dword [esp + 0xc]
push 1
push dword [0x446f4c]
push eax
call fcn.00436a70
add esp, 0x10
nop
nop
nop
push edi
call fcn.004394a0
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x441f24]
xor eax, eax
cmp dword [esp + 0x58], 1
sete al
jmp dword [eax*4 + 0x441f2c]
xor eax, eax
mov ecx, 1
jmp dword [ecx*4 + 0x441f34]
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x441f3c]
mov eax, 2
xor ecx, ecx
jmp dword [ecx*4 + 0x441f34]
xor eax, eax
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x441f3c]
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
mov edi, dword [esp + 8]
jmp dword [edx*4 + 0x441f44]
lea eax, [esp + 0x24]
push dword [esp + 0x18]
push 0
push 0x20019
push eax
push edi
call fcn.00439ef0
add esp, 0x14
not eax
shr eax, 0x1f
lea edi, [esp + 0x58]
jmp dword [eax*4 + 0x441efc]
jmp dword [0x441f0c]
mov dword [esp + 0x4c], 0x800
mov dword [esp + 0x28], 0x33cb31f4
mov dword [esp + 0x2c], 0x37c635c7
mov dword [esp + 0x30], 0xcb2bc934
mov dword [esp + 0x34], 0xcf10cd45
mov dword [esp + 0x38], 0xc33fc121
mov dword [esp + 0x3c], 0xc7c6c521
lea eax, [esp + 0x40]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1c
ja 0x4202ce
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + ecx]
add edx, 0xadea8678
add eax, 0xadea8678
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
add al, 0xb8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1d
jb 0x420290
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x28]
push eax
push edi
push 0
push ecx
push dword [esp + 0x34]
call fcn.0043a950
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441f04]
jmp 0x420329
movzx eax, word [esp + 0x58]
test ax, ax
je 0x420321
lea ecx, [esp + 0x5a]
nop
nop
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 0x420310
mov word [ebx], 0xa
add ebx, 2
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], 0xbcbdbebf
lea eax, [esp + 0x40]
mov dword [eax - 0xd], 0
mov dword [eax - 0x10], 0
mov dword [eax - 0x14], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xe
ja 0x4203b6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x28]
lea edx, [ecx + eax]
add edx, 0x3381f218
add ecx, 0x18
and ecx, eax
add ecx, ecx
mov eax, ecx
xor eax, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
mov dword [esp], ecx
mov eax, dword [esp]
add al, 0x58
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xf
jb 0x420370
mov ecx, dword [0x446f44]
test ecx, ecx
je 0x420400
mov edx, dword [esp + 0x28]
xor edi, edi
mov eax, dword [0x446f48]
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x11081610
je 0x4203e0
inc edi
cmp ecx, edi
jne 0x4203d0
jmp 0x420400
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je 0x420400
push dword [esp + 0x10]
push 1
push dword [0x446f4c]
push eax
call fcn.00436a70
add esp, 0x10
nop
nop
nop
lea edi, [esp + 0x58]
jmp dword [0x441f0c]
mov edi, dword [esp + 0x54]
mov eax, edi
inc eax
jns 0x420420
mov eax, 0xffffffff
jmp 0x420426
lea eax, [edi + edi]
add eax, 2
push eax
call fcn.00409060
add esp, 4
mov dword [esp + 0x50], edi
mov edi, eax
lea eax, [esp + 0x50]
push eax
push edi
push esi
push dword [esp + 0x24]
call fcn.0043a020
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0xc], edi
jmp dword [eax*4 + 0x441ef4]
lea edi, [esp + 0x58]
jmp dword [0x441f0c]
push dword [esp + 0xc]
call fcn.00409070
add esp, 4
mov eax, dword [case.0x4202ec.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
inc esi
xor eax, eax
cmp esi, dword [esp + 0x14]
setb al
jmp dword [eax*4 + 0x441eec]
mov eax, dword [esp + 0x14]
mov ecx, eax
shl ecx, 9
lea ebx, [ecx + eax*8]
add ebx, esi
push ebx
push edx
call fcn.00436960
mov edx, dword [esp + 0x14]
add esp, 8
jmp dword [0x441ee4]
mov dword [esp + 8], eax
lea ebx, [eax + esi*2]
xor esi, esi
xor eax, eax
cmp esi, dword [esp + 0x14]
setb al
jmp dword [eax*4 + 0x441eec]
mov eax, dword [esp + 0x14]
mov ecx, eax
shl ecx, 9
lea esi, [ecx + eax*8]
add esi, ebx
push esi
push edx
call fcn.00436960
mov edx, dword [esp + 0x14]
add esp, 8
jmp 0x4204a0
mov ecx, esi
and ecx, 1
xor esi, 1
lea esi, [esi + ecx*2]
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x420545
test ebx, ebx
je 0x42051f
cmp eax, ebx
jae 0x420545
cmp cx, 0x7f
jbe 0x420500
movzx ecx, cx
cmp ecx, 0x7ff
ja 0x420540
add esi, 2
jmp 0x42050b
add esi, 3
jmp 0x42050b
lea edi, [esi + 1]
push edi
call fcn.00409060
add esp, 4
test esi, esi
mov dword [esp + 0x20], esi
jle 0x420630
lea ecx, [eax + esi]
mov dword [esp + 0x10], ecx
add edi, eax
mov edx, dword [esp + 8]
mov dword [esp + 0x1c], eax
mov esi, eax
mov dword [esp + 0xc], edi
jmp 0x420596
mov byte [esi], cl
mov edi, 1
add edx, 2
add esi, edi
cmp esi, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
jae 0x420612
test ebx, ebx
je 0x42059e
cmp edx, ebx
jae 0x420612
movzx ecx, word [edx]
test cx, cx
je 0x420612
cmp cx, 0x7f
jbe 0x420580
mov eax, esi
not eax
add eax, edi
cmp eax, 2
jb 0x4205e0
movzx edi, cx
cmp edi, 0x7ff
ja 0x4205e0
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [esi], al
and cl, 0x3f
or cl, 0x80
mov byte [esi + 1], cl
mov edi, 2
jmp 0x420587
xor edi, edi
cmp eax, 3
jb 0x420587
movzx edi, cx
mov eax, edi
shr eax, 0xc
or al, 0xe0
mov byte [esi], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 1], al
and cl, 0x3f
or cl, 0x80
mov byte [esi + 2], cl
mov edi, 3
jmp 0x420587
mov ebx, dword [esp + 0x1c]
jmp 0x420634
mov dword [esp + 0x20], 0
push 1
call fcn.00409060
add esp, 4
mov ebx, eax
mov esi, eax
jmp 0x420634
mov esi, eax
mov ebx, eax
mov ecx, dword [ebp + 8]
mov byte [esi], 0
mov dword [esp + 0x58], 0x5f4e5473
mov dword [esp + 0x5c], 0x445e4e53
mov dword [esp + 0x60], 0x4754591c
mov byte [esp + 0x64], 0x32
mov dword [esp + 0x65], 0
mov byte [esp + 0x69], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x11
ja 0x4206c3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x58]
lea esi, [eax + edx]
add esi, 0x1c0a7b25
add eax, 0x25
and eax, edx
add eax, eax
mov edx, eax
xor edx, esi
not eax
and eax, esi
add eax, eax
sub eax, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add al, 0xfd
mov edx, dword [esp]
mov byte [esp + edx + 0x58], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x12
jb 0x420680
lea eax, [esp + 0x58]
push dword [esp + 0x20]
push ebx
push eax
call fcn.00409960
mov edi, dword [esp + 8]
jmp dword [0x441f5c]
push ebx
mov esi, eax
call fcn.00409070
mov eax, esi
add esp, 4
push edi
mov ebx, eax
call fcn.00435090
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.004353f0
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x441f6c]
mov dword [esp + 0x60], 0x60bb7221
mov dword [esp + 0x64], 0x7660455e
mov dword [esp + 0x68], 0x6a616b45
mov dword [esp + 0x6c], 0x5f646849
mov dword [esp + 0x70], 0x7e53ac40
mov dword [esp + 0x74], 0x7756a851
mov dword [esp + 0x78], 0x7845584c
mov dword [esp + 0x7c], 0x7ca77e53
mov dword [esp + 0x80], 0x9c6a7054
mov dword [esp + 0x84], 0x449b8d6d
mov dword [esp + 0x88], 0xd3806965
mov dword [esp + 0x8c], 0
mov word [esp + 0x90], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x31
ja 0x420da7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x60]
lea edx, [eax + ecx]
add edx, 0x192e93f
add eax, 0x3f
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, edx
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add al, 0x47
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x60], al
mov eax, dword [esp + 0x10]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp eax, 0x32
jb 0x420d50
lea eax, [esp + 0x10]
lea ecx, [esp + 0x4c]
push 0
push 0x2b
push ebx
push eax
call fcn.004359e0
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp edi, ecx
sete al
jmp dword [eax*4 + 0x441f74]
mov eax, ecx
sub eax, edi
sar eax, 2
mov esi, ecx
mov ecx, eax
and ecx, 0x421
mov edx, eax
or eax, 0x421
imul eax, ecx
xor ecx, 0x421
and edx, 0xfffffbde
imul edx, ecx
add eax, edx
push eax
call fcn.00409060
add esp, 4
mov dword [esp + 0x20], 0
xor ecx, ecx
mov dword [esp + 0x5c], esi
cmp edi, esi
setne cl
mov dword [esp + 0x44], eax
mov edx, eax
jmp dword [ecx*4 + 0x441f7c]
mov eax, dword [esp + 0x20]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x442044]
mov ebx, dword [esp + 0x44]
jmp dword [0x44204c]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44203c]
add edi, 4
xor eax, eax
cmp edi, dword [esp + 0x5c]
setne al
jmp dword [eax*4 + 0x441f7c]
mov dword [esp + 4], edx
mov esi, dword [edi]
push 0x400
push 0
push ebx
call fcn.004090e0
add esp, 0xc
lea eax, [esp + 0x30]
lea ecx, [esp + 0x4c]
push eax
push 0x400
push ebx
push esi
call fcn.00435850
xor edx, edx
cmp eax, 0xc0000000
setae dl
mov eax, 3
xor ecx, ecx
jmp dword [edx*4 + 0x441f84]
xor edx, edx
cmp dword [esp + 0x30], 0
sete dl
xor ecx, ecx
jmp dword [edx*4 + 0x441f8c]
xor eax, eax
mov ecx, 1
mov edx, dword [case.0x420dc9.11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edx
jmp dword [ecx*4 + 0x441fa4]
mov byte [esp + 0x45f], 0
movzx edx, byte [esp + 0x60]
xor eax, eax
mov ecx, 0
test dl, dl
je 0x420f10
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dl, 0x2e
je 0x420f10
movzx edx, byte [ecx + 1]
inc ecx
test dl, dl
jne 0x420f00
xor ecx, ecx
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x441fac]
mov dword [esp + 0x48], edi
lea esi, [ecx + 1]
movzx eax, byte [ecx + 1]
xor edi, edi
test al, al
je 0x420f51
mov edx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x420f4f
movzx eax, byte [edx + 1]
inc edx
test al, al
jne 0x420f40
jmp 0x420f51
mov edi, edx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x441fb4]
mov ecx, dword [case.0x420dc9.12]
mov edi, dword [esp + 0x48]
jmp case.0x4211c4.6
mov dword [esp + 0x1c], edi
mov eax, edi
sub eax, esi
mov edi, eax
and edi, 3
mov ebx, eax
or ebx, 3
imul ebx, edi
xor edi, 3
mov edx, eax
and edx, 0xfffffffc
imul edx, edi
add ebx, edx
mov edx, ebx
mov ebx, eax
shr edx, 2
movzx eax, byte [ecx + eax]
cmp eax, 0x3d
je 0x420fa5
cmp eax, 0x2e
jne 0x420fa6
dec edx
movzx eax, byte [ebx + esi - 2]
cmp eax, 0x3d
mov dword [esp + 0x28], ebx
mov edi, dword [esp + 0x1c]
je 0x420fbd
cmp eax, 0x2e
jne 0x420fbe
dec edx
mov dword [esp + 0x58], edx
lea eax, [edx + 1]
push eax
call fcn.00409060
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], esi
cmp edi, esi
je 0x4210d7
xor esi, esi
mov edi, 2
jmp 0x421004
mov ecx, dword [esp + 0x28]
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x4210d7
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x2c]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.0040fee0
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.0040fee0
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov byte [ecx + esi], al
mov eax, esi
and eax, 1
xor esi, 1
lea esi, [esi + eax*2]
mov ecx, dword [esp + 0x28]
cmp edi, ecx
jae 0x420ff4
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + edi]
push eax
call fcn.0040fee0
add esp, 4
cmp al, 0x40
je 0x420ff0
mov bl, al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x3c
add eax, ecx
inc eax
movzx ecx, bh
shl ecx, 4
shr eax, 2
add eax, ecx
mov edx, esi
inc esi
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
mov byte [ecx + edx], al
lea eax, [edi + 1]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jae 0x420ff4
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.0040fee0
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp al, 0x40
je 0x420ff4
shl bl, 6
add al, bl
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov byte [edx + esi + 1], al
add esi, 2
jmp 0x420ff4
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x24]
mov byte [esi + eax], 0
push esi
call fcn.00401e90
add esp, 4
mov ebx, eax
jmp dword [0x441fbc]
jmp dword [0x441fc4]
push esi
call fcn.00409070
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00409070
add esp, 4
jmp dword [0x441fd0]
push ebx
call fcn.00402910
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [esp + 0x48]
jmp dword [ecx*4 + 0x441fd4]
jmp 0x421249
mov dword [esp + 0x30], 0x7bdaced3
lea ecx, [esp + 0x34]
mov word [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xd
ja 0x4211af
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x30]
lea esi, [ecx - 0x1978ee71]
add ecx, 0x8f
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 8], esi
mov ecx, dword [esp + 8]
add cl, 0x17
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x30], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0xe
jb 0x421170
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.004026b0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x441fdc]
movzx edx, byte [eax]
test dl, dl
je 0x4211ed
inc eax
mov ecx, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x4211e0
jmp 0x4211f1
mov ecx, dword [esp + 4]
mov byte [ecx], 0
mov byte [ecx], 0x3a
lea eax, [ecx + 2]
mov dword [esp + 4], eax
jmp dword [0x441fe8]
mov byte [ecx + 1], 0x20
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx + 1], 0x20
jmp dword [0x441ff0]
movzx eax, byte [esp + 0x60]
test al, al
mov edx, dword [esp + 4]
je 0x42123b
lea ecx, [esp + 0x61]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x421230
mov byte [edx], 0xa
inc edx
mov dword [esp + 4], edx
mov al, 1
mov dword [esp + 0x20], eax
push ebx
call fcn.00402ec0
add esp, 4
mov ecx, dword [case.0x420dc9.12]
lea ebx, [esp + 0x60]
nop
nop
nop
nop
xor eax, eax
jmp ecx
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x442004]
mov ecx, dword [case.0x4211c4.10]
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
jmp ecx
mov ecx, dword [case.0x420f58.29]
mov edx, dword [esp + 4]
nop
nop
jmp ecx
xor ecx, ecx
cmp eax, 3
setl cl
jmp dword [ecx*4 + 0x44202c]
sete al
movzx eax, al
jmp dword [eax*4 + 0x442034]
jmp dword [0x442060]
xor edx, edx
test edi, edi
jne 0x4213c7
jmp case.0x42018c.17
mov ecx, dword [ebp + 8]
mov byte [edx], 0
mov ebx, dword [esp + 0x44]
sub edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 0x60], 0xcfcac999
mov dword [esp + 0x64], 0xdba7a6ad
mov dword [esp + 0x68], 0xd0d4d6a9
mov dword [esp + 0x6c], 0xa2d2be9b
mov dword [esp + 0x70], 0xb79ddca9
mov dword [esp + 0x74], 0xe19b9ee3
mov dword [esp + 0x78], 0xebeea7e3
mov word [esp + 0x7c], 0x7de0
mov dword [esp + 0x7e], 0
mov dword [esp + 0x82], 0
mov byte [esp + 0x86], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x26
ja 0x421392
mov eax, dword [esp + 8]
mov edx, dword [esp + 8]
movzx esi, byte [esp + edx + 0x60]
lea edi, [eax + 0x1cf9da8c]
and edi, esi
lea edx, [eax + esi]
add edx, 0x1cf9da8c
add eax, 0x8c
and eax, esi
add eax, edi
mov esi, edx
not esi
and esi, eax
not eax
and eax, edx
sub eax, esi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add al, 0x2c
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x60], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x27
jb 0x421340
lea eax, [esp + 0x60]
push dword [esp + 4]
push ebx
push eax
call fcn.00409960
mov dword [esp + 0x20], eax
jmp dword [0x44204c]
push ebx
call fcn.00409070
add esp, 4
mov edx, dword [esp + 0x20]
and dl, 1
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test edi, edi
je case.0x42018c.17
cmp edi, ecx
je case.0x42018c.17
push edi
mov esi, edx
call fcn.00409070
mov edx, esi
add esp, 4
mov ebx, edx
lea ecx, [esp + 0x4c]
call fcn.00435530
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor edx, edx
test ecx, ecx
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44211c]
mov edx, dword [case.0x42018c.83]
nop
nop
nop
nop
nop
jmp edx
jmp dword [ecx*4 + 0x442074]
mov dword [esp + 0x38], 0x7b2a79ca
mov dword [esp + 0x3c], 0x7f257d3d
mov dword [esp + 0x40], 0x73257125
mov dword [esp + 0x44], 0x77267526
mov dword [esp + 0x48], 0x4be449dd
mov dword [esp + 0x4c], 0x4f0f4d15
mov dword [esp + 0x50], 0x4318410b
mov dword [esp + 0x54], 0x471a4519
mov dword [esp + 0x58], 0x5bf45901
mov dword [esp + 0x5c], 0x5f0d5d0f
mov dword [esp + 0x60], 0x53045118
mov dword [esp + 0x64], 0x571755fb
mov dword [esp + 0x68], 0xabefa904
mov dword [esp + 0x6c], 0xaffaad06
mov dword [esp + 0x70], 0xa31ca10d
mov dword [esp + 0x74], 0xa703a514
mov dword [esp + 0x78], 0xbbedb90a
mov dword [esp + 0x7c], 0xbf1bbd0e
mov dword [esp + 0x80], 0xb30fb11d
mov word [esp + 0x84], 0xb5b2
mov dword [esp + 0x86], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 0x51
ja 0x421560
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xac]
movzx edx, byte [esp + edx + 0x38]
lea edi, [ecx + 0xcf]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0xe7a63cf
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
mov edx, ecx
xor edx, 0x56
and ecx, 0x56
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp + 0xac]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
cmp ecx, 0x52
jb case.default.0x42157f
push 0
push 0
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00439ef0
add esp, 0x14
shr eax, 0x1f
mov ecx, 4
jmp dword [eax*4 + 0x44208c]
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x10]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x24]
call fcn.0043a2f0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442094]
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + ecx]
add eax, 2
inc ecx
jns 0x4215c6
mov eax, 0xffffffff
push eax
call fcn.00409060
add esp, 4
mov edi, eax
mov dword [esp + 0x38], 0x4336411d
mov dword [esp + 0x3c], 0x5fd05dcf
mov dword [esp + 0x40], 0x5b2c593d
mov dword [esp + 0x44], 0x5704552e
mov dword [esp + 0x48], 0x53dc5135
mov dword [esp + 0x4c], 0x6f6c6d2a
mov byte [esp + 0x50], 0
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xac]
cmp eax, 0x18
ja 0x421684
nop
nop
nop
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
movzx ecx, byte [esp + ecx + 0x38]
lea edx, [eax + 0x395074cb]
mov esi, ecx
not esi
or esi, edx
and edx, ecx
add edx, esi
neg edx
add eax, edx
add eax, 0x395074ca
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
mov ecx, eax
or ecx, 0x72
and eax, 0x72
add eax, ecx
inc al
mov ecx, dword [esp + 0xac]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0xac]
mov eax, dword [esp + 0xac]
cmp eax, 0x19
jb 0x421620
lea eax, [esp + 0x2c]
push eax
push edi
push 0
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x14]
call fcn.0043a950
add esp, 0x14
shr eax, 0x1f
mov esi, edi
jmp dword [eax*4 + 0x44209c]
jmp dword [0x4420b0]
xor esi, esi
jmp dword [0x4420b4]
push edi
call fcn.00409070
add esp, 4
mov eax, dword [case.0x42157f.2]
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 4]
mov dword [esp + 0x38], 0xbcbdbebf
lea ecx, [esp + 0x3c]
mov dword [ecx + 7], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 0xe
ja 0x42176e
nop
nop
nop
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xac]
movzx edx, byte [esp + edx + 0x38]
lea edi, [ecx + edx]
add edi, 0x3381f218
add ecx, 0x18
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 [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
add cl, 0x58
mov edx, dword [esp + 0xac]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
cmp ecx, 0xf
jb 0x421710
mov ecx, dword [0x446f44]
test ecx, ecx
je case.default.0x4217cc
mov edx, dword [esp + 0x38]
xor edi, edi
mov ebx, dword [0x446f48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x4217a0
inc edi
cmp ecx, edi
jne 0x421790
jmp case.default.0x4217cc
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.default.0x4217cc
push eax
push 1
push dword [0x446f4c]
push ecx
call fcn.00436a70
add esp, 0x10
nop
nop
nop
nop
nop
nop
xor eax, eax
test esi, esi
setne al
mov ecx, 2
jmp dword [eax*4 + 0x4420cc]
lea eax, [esp + 0x38]
push eax
call fcn.004394a0
add esp, 4
movzx edx, al
xor ecx, ecx
mov eax, 1
jmp dword [edx*4 + 0x4420d4]
xor edx, edx
cmp dword [esp + 0x38], 1
sete dl
jmp dword [edx*4 + 0x4420dc]
mov ecx, 2
xor eax, eax
jmp dword [0x4420ec]
jmp dword [eax*4 + 0x4420f4]
xor ecx, ecx
mov eax, dword [case.0x42157f.1]
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, 4
setl al
jmp dword [eax*4 + 0x44210c]
xor edx, edx
cmp ecx, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x442114]
mov eax, dword [case.0x4217cc.18]
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x4217cc.24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
sete al
xor ebx, ebx
jmp dword [eax*4 + 0x442134]
mov dword [esp + 0x14], eax
jmp dword [0x44213c]
mov esi, dword [esp + 0xdc]
lea eax, [esi + 1]
push eax
call fcn.00409060
add esp, 4
push 0
push esi
mov dword [esp + 0xac], eax
push eax
push dword [esp + 0xb4]
call fcn.00439b60
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
jmp dword [eax*4 + 0x442214]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0xa4]
mov byte [edi + esi], 0
push 0x20
call fcn.00409060
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 + 0xd4], eax
mov ecx, eax
push esi
push edi
call fcn.004242d0
movzx eax, al
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
jmp dword [eax*4 + 0x44221c]
mov dword [esp + 0x38], 0x3fcec4db
mov dword [esp + 0x3c], 0xb43ece3b
mov dword [esp + 0x40], 0xbfb3a7ff
mov dword [esp + 0x44], 0xaaf9b240
mov dword [esp + 0x48], 0xb0bbbe4a
mov dword [esp + 0x4c], 0xadb19cf3
mov dword [esp + 0x50], 0x57a1a6ac
mov dword [esp + 0x54], 0xafa5a687
mov word [esp + 0x58], 0xd5ad
mov dword [esp + 0x5a], 0
mov dword [esp + 0x5e], 0
mov dword [esp + 0x61], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x2c
ja 0x421a10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
movzx esi, byte [esp + eax + 0x38]
lea eax, [edx - 0x182e35c7]
lea ecx, [edx + esi]
add ecx, 0xe7d1ca39
add edx, 0x39
and edx, esi
and eax, esi
add eax, edx
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x71
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x2d
jb 0x4219c0
mov ecx, dword [esp + 0xd4]
lea eax, [esp + 0x38]
push eax
call fcn.00424500
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x28], 0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], edx
jmp dword [ecx*4 + 0x442224]
add eax, 8
mov dword [esp + 0x28], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
mov dword [esp + 0xd8], ebx
jmp dword [eax*4 + 0x44222c]
jmp dword [0x44223c]
cmp dword [edx + 0x18], 3
mov esi, 0
jne 0x421a70
mov esi, dword [edx + 0x10]
jmp 0x421a70
mov edi, dword [edx]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x442244]
mov eax, dword [case.0x421a38.13]
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44225c]
mov dword [esp + 0x98], edx
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne 0x421ac0
mov ecx, eax
not ecx
mov ebx, esi
and ecx, esi
mov edx, esi
not edx
and edx, eax
sub edx, ecx
inc edx
shr edx, 1
mov dword [esp + 0xe0], edx
lea eax, [edx + 1]
push eax
call fcn.00409060
add esp, 4
mov esi, dword [case.0x421a38.19]
mov dword [esp + 0x94], eax
mov dword [esp + 0x1c], eax
mov eax, ebx
jmp case.0x421a38.16
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov byte [eax], dl
inc eax
mov dword [esp + 0x1c], eax
mov eax, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp esi
movsx edx, byte [eax]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x442274]
lea ebx, [eax + 1]
mov dword [esp + 0x18], ebx
mov ecx, edx
or ecx, 0x20
add ecx, 0xffffff9f
cmp ecx, 5
ja case.default.0x421b5e
mov ecx, edx
or ecx, 0xffffffbe
and edx, 0xffffff9e
add edx, ecx
add edx, 0xb
movsx ecx, byte [ebx]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x44227c]
add edx, 0xffffffd0
cmp edx, 0xa
jb case.default.0x421b7c
mov edx, 0xffffffff
movsx ecx, byte [ebx]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x44227c]
shl edx, 4
add eax, 2
mov ebx, ecx
or ebx, 0x20
add ebx, 0xffffff9f
cmp ebx, 5
ja 0x421ba5
mov ebx, ecx
or ebx, 0xffffffbe
and ecx, 0xffffff9e
add ecx, ebx
add ecx, 0xb
jmp 0x421bb2
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x421bb2
mov ecx, 0xffffffff
or edx, ecx
mov ecx, eax
jmp 0x421b07
mov eax, dword [esp + 0x1c]
mov byte [eax], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc edi
movzx eax, byte [edi - 1]
movsx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x421bd0
cmp ecx, 0x20
je 0x421bd0
movzx ecx, al
cmp ecx, 0x2b
je 0x421bf6
cmp ecx, 0x2d
jne 0x421efa
cmp al, 0x2b
sete byte [esp + 0xa0]
movzx eax, byte [edi]
cmp al, 0x30
jne 0x421c17
movzx eax, byte [edi + 1]
and al, 0xdf
xor ecx, ecx
cmp al, 0x58
sete cl
lea edi, [edi + ecx*2]
xor ecx, ecx
mov dword [esp + 0x18], 0
xor eax, eax
jmp 0x421c54
xor ebx, ebx
xor edx, edx
mov esi, 0xffffffff
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x9c], 0x22
add ebx, esi
adc edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x18], ebx
mov eax, edx
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x18]
mov dword [esp + 0x9c], ecx
movsx ecx, byte [edi]
lea ebx, [ecx - 0x30]
cmp ebx, 0xa
jb 0x421c9c
mov eax, ecx
and eax, 0xffffffdf
add eax, 0xffffffbf
cmp eax, 0x19
ja 0x421d29
or cl, 0x20
movsx eax, cl
mov ecx, eax
xor ecx, 0xffffff9e
and eax, 0xffffff9e
lea ebx, [ecx + eax*2]
add ebx, 0xb
cmp ebx, 0xf
jg 0x421d29
inc edi
mov edx, esi
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x1c]
and edx, esi
mov dword [esp + 0x18], 0xffffffff
mov ecx, 0x22
mov eax, 0xffffffff
cmp edx, 0xffffffff
je 0x421c54
mov eax, dword [esp + 0x34]
test esi, 0xf0000000
je 0x421cf0
mov dword [esp + 0x18], 0xffffffff
mov eax, 0xffffffff
test ebx, ebx
jne 0x421c54
jmp 0x421c25
mov ecx, eax
shld esi, eax, 4
mov dword [esp + 0x1c], esi
shl ecx, 4
mov edx, ebx
sar edx, 0x1f
mov eax, ebx
add eax, ecx
mov eax, edx
adc eax, esi
mov esi, ecx
mov dword [esp + 0x18], 0xffffffff
mov eax, 0xffffffff
mov ecx, 0x22
jb 0x421c54
jmp 0x421c41
mov dword [esp + 0x18], 0
mov eax, esi
neg eax
mov ecx, 0
mov edx, dword [esp + 0x1c]
sbb ecx, edx
cmp byte [esp + 0xa0], 0
jne case.default.0x421d6f
mov esi, eax
mov edx, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], edx
mov ebx, dword [case.0x421b7c.56]
mov edi, dword [case.0x421b7c.56]
xor eax, eax
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x30]
setne al
jmp dword [eax*4 + 0x442284]
cmp dword [esp + 0x9c], 0x22
setne al
mov edx, dword [ecx + 4]
mov esi, edx
shr esi, 0x1c
xor esi, dword [esp + 0x1c]
shl edx, 4
or edx, 1
xor edx, dword [esp + 0x34]
or edx, esi
sete dl
and dl, al
movzx eax, dl
jmp dword [eax*4 + 0x44228c]
mov eax, 1
jmp edi
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
jmp ebx
jmp dword [eax*4 + 0x4422b4]
add ecx, 8
xor eax, eax
cmp ecx, dword [esp + 0x30]
setne al
jmp dword [eax*4 + 0x442284]
mov eax, dword [case.0x421a38.40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
mov esi, dword [esp + 0x18]
test esi, esi
setne al
mov ebx, dword [esp + 0xd8]
mov edx, dword [esp + 0x98]
jmp dword [eax*4 + 0x4422cc]
jmp dword [0x4422dc]
push dword [esp + 0x94]
mov esi, edx
call fcn.00409070
mov edx, esi
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44222c]
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne case.default.0x421ee6
lea ecx, [esi + eax]
dec ecx
add eax, esi
neg eax
and eax, esi
mov edx, esi
not edx
and edx, ecx
sub edx, eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
push 0x932a8d34
push dword [0x446f50]
call fcn.00438bd0
add esp, 8
lea ecx, [esp + 0xc]
push ecx
push 1
push 0
push 0
lea ecx, [esp + 0x14]
push ecx
push 0
lea ecx, [esp + 0x50]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4422d4]
mov edx, dword [esp + 0x98]
jmp dword [0x4422dc]
dec edi
mov byte [esp + 0xa0], 1
cmp al, 0x30
je 0x421c07
jmp 0x421c17
movzx eax, byte [esi]
test al, al
je 0x421f2d
inc esi
mov ecx, dword [esp + 0x20]
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x421f20
jmp 0x421f31
mov ecx, dword [esp + 0x20]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0xc]
test esi, esi
je 0x421f6b
mov ecx, dword [esp + 0x10]
mov edx, esi
and edx, 3
je 0x421f6f
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x421f50
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x421f71
mov edi, eax
jmp 0x421faf
mov edx, esi
cmp esi, 4
jb 0x421faf
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 0x421f76
mov byte [edi], 0xa
inc edi
mov dword [esp + 0x20], edi
push 0x2e0ec9bb
push dword [0x446f3c]
call fcn.00438bd0
add esp, 8
push dword [esp + 0x10]
call eax
mov al, 1
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0xd8]
mov edx, dword [esp + 0x98]
jmp dword [0x4422dc]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44222c]
jmp dword [0x4422e4]
mov esi, dword [esp + 0xd4]
mov ecx, esi
call fcn.00424670
push esi
call fcn.00409070
add esp, 4
jmp dword [0x4422ec]
jmp dword [0x4422ec]
push dword [esp + 0xa4]
call fcn.00409070
add esp, 4
jmp case.0x422394.28
mov dword [esp + 0x14], esi
jmp dword [0x4421d4]
mov dword [esp + 0x30], edi
mov eax, edi
sub eax, esi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00409060
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], 0xebc815ed
mov dword [esp + 0x3c], 0xef4de95b
mov dword [esp + 0x40], 0xe350ed49
mov dword [esp + 0x44], 0xe750e125
mov dword [esp + 0x48], 0xfb20e556
mov dword [esp + 0x4c], 0xff4cf95d
mov dword [esp + 0x50], 0xf307fd59
mov dword [esp + 0x54], 0xf725f15e
mov dword [esp + 0x58], 0xcb4ff542
mov dword [esp + 0x5c], 0xcf7bc96d
mov dword [esp + 0x60], 0xc370cd62
mov dword [esp + 0x64], 0xc765c173
mov dword [esp + 0x68], 0xdb78c561
mov dword [esp + 0x6c], 0xdf52d928
mov dword [esp + 0x70], 0xd366dd7a
lea eax, [esp + 0x74]
mov dword [esp + 0x74], 0xd1d2
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0x3f
ja 0x422141
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx esi, byte [esp + edx + 0x38]
mov edx, 0x5f5d1882
sub edx, ecx
add ecx, 0x7d
and ecx, esi
or edx, esi
not edx
add edx, esi
sub edx, ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 4]
add cl, 0x95
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0x40
jb 0x422100
lea ebx, [esp + 0xe4]
lea edx, [esp + 0x38]
mov edi, ebx
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x120]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esp + 0x2c]
push eax
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x445f38]
mov esi, dword [esp + 0x2c]
test esi, esi
jns 0x42218d
mov eax, 0xffffffff
jmp 0x422190
lea eax, [esi + esi]
mov edi, dword [esp + 0x30]
push eax
call fcn.00409060
add esp, 4
mov ecx, eax
lea eax, [esp + 0x2c]
push eax
push esi
push ecx
push 0x1e
push ebx
mov ebx, ecx
push 0
call dword [0x445f38]
jmp dword [0x4421f4]
not eax
shr eax, 0x1f
xor edi, edi
xor esi, esi
jmp dword [eax*4 + 0x442174]
mov esi, dword [esp + 0x2c]
mov byte [ebx + esi], 0
mov edi, dword [case.0x4217cc.47]
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0x20
call fcn.00409060
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
jmp edi
mov dword [esp + 0x94], eax
mov ecx, eax
push esi
push ebx
call fcn.004242d0
movzx eax, al
xor edi, edi
xor esi, esi
jmp dword [eax*4 + 0x44218c]
mov dword [esp + 0x38], 0x67185e3b
mov dword [esp + 0x3c], 0x1260106b
mov dword [esp + 0x40], 0x171b0f27
mov dword [esp + 0x44], 0x82d1c62
mov dword [esp + 0x48], 0xe031868
mov dword [esp + 0x4c], 0x12033
mov dword [esp + 0x50], 0x7f787077
mov word [esp + 0x54], 0xe97f
mov dword [esp + 0x56], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x21
ja 0x4222de
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x38]
lea edx, [eax + 0x9e]
mov esi, 0x2e702e61
sub esi, eax
or esi, ecx
not ecx
or ecx, edx
add esi, ecx
mov eax, 0xfffffffe
sub eax, esi
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
add al, 0xae
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x22
jb 0x422290
mov ecx, dword [esp + 0x94]
lea eax, [esp + 0x38]
push eax
call fcn.00424500
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
jmp dword [ecx*4 + 0x442194]
mov dword [esp + 0xa0], ebx
add eax, 8
xor esi, esi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor edi, edi
xor edx, edx
jmp dword [eax*4 + 0x44219c]
mov eax, dword [case.0x422394.4]
mov ebx, dword [esp + 0xa0]
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x4421bc]
jmp dword [0x4421c4]
mov ecx, dword [esp + 0x94]
call fcn.00424670
push dword [esp + 0x94]
call fcn.00409070
add esp, 4
jmp dword [0x4421cc]
not eax
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov dword [esi + ecx*8 + 4], eax
add edi, 8
mov ecx, dword [esp + 0x9c]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44219c]
mov dword [esp + 0x9c], ecx
mov ebx, dword [ecx]
mov ecx, edi
sub ecx, esi
sar ecx, 3
cmp edi, edx
mov dword [esp + 0x1c], ecx
jne 0x42243f
mov dword [esp + 0x34], edx
mov edi, esi
lea eax, [ecx + 1]
mov edx, ecx
shr edx, 1
add edx, ecx
cmp edx, eax
ja 0x4223cc
mov edx, eax
mov dword [esp + 0x18], edx
lea eax, [edx*8]
push eax
call fcn.00409060
add esp, 4
mov dword [esp + 0x14], eax
test edi, edi
je 0x42242d
mov eax, edi
mov edx, dword [esp + 0x34]
cmp edi, edx
je 0x422424
xor eax, eax
mov esi, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [esi + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [esi + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x422400
mov edx, edi
push edx
call fcn.00409070
add esp, 4
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
lea edi, [esi + ecx*8]
mov eax, dword [esp + 0x18]
lea edx, [esi + eax*8]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], edi
mov dword [esi + ecx*8], 0
mov dword [esp + 0x14], esi
mov dword [esi + ecx*8 + 4], 0
xor esi, esi
nop
nop
nop
nop
cmp byte [ebx + esi], 0
lea esi, [esi + 1]
jne 0x422460
lea eax, [ebx + esi]
dec eax
add esi, ebx
neg esi
and esi, ebx
mov ecx, ebx
not ecx
and ecx, eax
mov dword [esp + 0x24], ecx
mov eax, ecx
sub eax, esi
mov dword [esp + 0x20], eax
inc eax
push eax
mov edi, eax
mov dword [esp + 0x1c], eax
call fcn.00409060
add esp, 4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [edx + ecx*8], eax
mov ecx, edi
shr ecx, 2
mov edx, ebx
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 0x18]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
add edx, ebx
shr ecx, 1
and ecx, 1
mov edi, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0xa4], eax
mov edi, eax
mov eax, dword [esp + 0x28]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x18]
test cl, 1
je 0x4224f5
mov edi, ecx
and edi, 2
movzx ecx, byte [edx + edi]
mov eax, dword [esp + 0xa4]
mov byte [eax + edi], cl
xor eax, eax
mov ecx, dword [esp + 0x24]
cmp ecx, esi
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
je 0x422372
inc esi
cmp ecx, esi
jne 0x422522
mov eax, 0xffffffff
test byte [esp + 0x20], 1
je 0x422370
jmp 0x42256a
mov ecx, dword [esp + 0x20]
and ecx, 0xfffffffe
mov eax, 0xffffffff
nop
nop
mov edx, eax
shr edx, 8
xor al, byte [ebx]
movzx eax, al
xor edx, dword [eax*4 + 0x43c7a0]
mov eax, edx
shr eax, 8
xor dl, byte [ebx + 1]
add ebx, 2
movzx edx, dl
xor eax, dword [edx*4 + 0x43c7a0]
add ecx, 0xfffffffe
jne 0x422530
mov edx, dword [esp + 0x34]
test byte [esp + 0x20], 1
je 0x422370
mov ecx, eax
shr ecx, 8
xor al, byte [ebx]
movzx eax, al
xor ecx, dword [eax*4 + 0x43c7a0]
mov eax, ecx
jmp 0x422370
jmp dword [0x4421cc]
mov dword [esp + 0x14], esi
push ebx
call fcn.00409070
add esp, 4
jmp dword [0x4421d4]
push dword [esp + 0x98]
call fcn.00409070
add esp, 4
xor eax, eax
mov esi, dword [esp + 0x14]
cmp esi, edi
sete al
xor ebx, ebx
jmp dword [eax*4 + 0x4421ec]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x38], 0xbcbdbebf
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x43], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xe
ja 0x422649
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x38]
lea esi, [ecx + edx]
add esi, 0x3381f218
add ecx, 0x18
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x58
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0xf
jb 0x422600
mov ecx, dword [0x446f44]
test ecx, ecx
je 0x422678
mov edx, dword [esp + 0x38]
xor esi, esi
mov edi, dword [0x446f48]
nop
cmp dword [edi + esi*8], 0x11081610
je 0x422670
inc esi
cmp ecx, esi
jne 0x422660
jmp 0x422678
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x422686
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
jmp dword [0x4422f4]
push eax
push 1
push dword [0x446f4c]
push ecx
call fcn.00436a70
add esp, 0x10
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
jmp dword [0x4422f4]
lea eax, [esp + 0xdc]
push 0
push eax
push dword [esp + 0xb0]
call fcn.00439a60
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
jmp dword [eax*4 + 0x44220c]
push ebx
call fcn.00409070
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00409070
add esp, 4
jmp dword [0x442308]
mov eax, dword [esp + 0x28]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x44230c]
jmp dword [0x442314]
jmp dword [0x44231c]
mov ebx, dword [esp + 0x20]
mov byte [ebx], 0
sub ebx, dword [esp + 0x24]
mov dword [esp + 0x38], 0xf7f4f5a9
mov dword [esp + 0x3c], 0xf38f8cf5
mov dword [esp + 0x40], 0xf6fefcf9
mov dword [esp + 0x44], 0xfcf494bb
mov dword [esp + 0x48], 0xefc586f9
mov dword [esp + 0x4c], 0x8dfb8483
mov dword [esp + 0x50], 0x8380cf83
mov word [esp + 0x54], 0x1986
mov dword [esp + 0x56], 0
mov word [esp + 0x5a], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x23
ja 0x4227d0
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x38]
lea edx, [eax + ecx]
add edx, 0x2531
add eax, 0x2531
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0xa9
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x24
jb 0x422790
mov ecx, dword [ebp + 8]
push ebx
push dword [esp + 0x28]
lea eax, [esp + 0x40]
push eax
call fcn.00409960
jmp dword [0x442314]
push dword [esp + 0x24]
mov ebx, eax
call fcn.00409070
mov eax, ebx
add esp, 4
jmp dword [0x44231c]
nop
nop
mov ebx, eax
and bl, 1
jmp dword [0x442324]
jmp dword [0x442164]
mov esi, dword [esp + 0x2c]
lea eax, [esi + 1]
push eax
call fcn.00409060
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x18]
call fcn.00439b60
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x2c]
lea eax, [esi + 1]
push eax
call fcn.00409060
add esp, 4
mov ebx, eax
push 0
push esi
push eax
push dword [esp + 0x18]
call fcn.00439b60
add esp, 0x10
jmp dword [0x442170]
jmp dword [0x442300]
lea eax, [esp + 0xa8]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.004396e0
add esp, 0x14
lea eax, [esp + 0xa8]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.004396e0
add esp, 0x14
jmp dword [0x442200]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442204]
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x14]
jmp dword [0x4422f4]
xor eax, eax
mov esi, dword [esp + 0x14]
cmp esi, edi
sete al
xor ebx, ebx
jmp dword [eax*4 + 0x4421ec]
jmp dword [0x44232c]
test esi, esi
je case.0x422394.100
cmp esi, edi
jne 0x422904
jmp case.0x422394.100
cmp esi, edi
je 0x422918
mov eax, dword [esi]
add esi, 8
test eax, eax
je 0x422900
push eax
call fcn.00409070
add esp, 4
jmp 0x422900
push dword [esp + 0x14]
call fcn.00409070
add esp, 4
xor edi, edi
xor esi, esi
jmp case.0x422394.100
push dword [esp + 0x14]
call fcn.00409070
add esp, 4
xor edi, edi
xor esi, esi
jmp dword [0x442334]
test esi, esi
je 0x422940
cmp esi, edi
je 0x422940
mov dword [esp + 0x14], esi
jmp 0x422964
cmp esi, edi
je 0x422930
mov eax, dword [esi]
add esi, 8
test eax, eax
je 0x422960
push eax
call fcn.00409070
add esp, 4
jmp 0x422960
mov eax, dword [case.0x422394.106]
nop
nop
nop
jmp eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x38], 0xb309b512
mov dword [esp + 0x3c], 0x8f02b103
mov dword [esp + 0x40], 0x8b3b8d34
mov dword [esp + 0x44], 0x872c8933
mov dword [esp + 0x48], 0x8335853b
mov dword [esp + 0x4c], 0x9f3a8130
mov dword [esp + 0x50], 0x9b259d29
mov dword [esp + 0x54], 0x971299e8
mov dword [esp + 0x58], 0x932e952a
lea eax, [esp + 0x5c]
mov word [esp + 0x5c], 0x9192
mov dword [esp + 0x5e], 0
mov byte [esp + 0x62], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0x2a
ja 0x422a5a
nop
nop
nop
mov edi, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ebx, byte [esp + ecx + 0x38]
lea ecx, [edi + 0x345cd399]
lea edx, [edi + ebx]
add edx, 0x345cd399
add edi, 0x99
and edi, ebx
and ecx, ebx
add ecx, edi
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
add cl, 0xd1
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0x2b
jb 0x422a00
lea edi, [esp + 0xac]
lea edx, [esp + 0x38]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xd0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x422a90
lea eax, [ecx + 0x26]
cmp ecx, 0xffffffd9
jge 0x422aa8
mov eax, 0xffffffff
push eax
call fcn.00409060
add esp, 4
movzx ecx, word [esi]
test cx, cx
je 0x422ad1
lea edx, [esi + 2]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422ac0
mov word [eax], 0
movzx ecx, word [esp + 0xac]
test cx, cx
je 0x422b01
lea edx, [esp + 0xae]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422af0
mov word [eax], 0
mov dword [esp + 0x38], 0xb309b512
mov dword [esp + 0x3c], 0x8f02b103
mov dword [esp + 0x40], 0x8b3b8d34
mov dword [esp + 0x44], 0x872c8933
mov dword [esp + 0x48], 0x8335853b
mov dword [esp + 0x4c], 0x9f3a8130
mov dword [esp + 0x50], 0x9b259d29
mov dword [esp + 0x54], 0x971299e8
mov dword [esp + 0x58], 0x932e952a
lea eax, [esp + 0x5c]
mov word [esp + 0x5c], 0x9192
mov dword [esp + 0x5e], 0
mov byte [esp + 0x62], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0x2a
ja 0x422bda
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ebx, byte [esp + ecx + 0x38]
lea ecx, [edi + 0x345cd399]
lea edx, [edi + ebx]
add edx, 0x345cd399
add edi, 0x99
and edi, ebx
and ecx, ebx
add ecx, edi
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
add cl, 0xd1
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0x2b
jb 0x422b80
lea edi, [esp + 0xac]
lea edx, [esp + 0x38]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xd0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x422c10
lea eax, [ecx + 0x26]
cmp ecx, 0xffffffd9
jge 0x422c28
mov eax, 0xffffffff
push eax
call fcn.00409060
add esp, 4
mov edi, eax
movzx ecx, word [esi]
test cx, cx
je 0x422c51
lea edx, [esi + 2]
mov eax, edi
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422c40
mov word [eax], 0
movzx ecx, word [esp + 0xac]
test cx, cx
je 0x422c81
lea edx, [esp + 0xae]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422c70
mov word [eax], 0
jmp dword [0x442144]
mov eax, dword [esp + 0x14]
jmp dword [eax*4 + 0x44214c]
push esi
call fcn.00409070
add esp, 4
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0xa8], edi
push edi
call fcn.004396e0
add esp, 0x14
not eax
shr eax, 0x1f
xor edi, edi
mov dword [esp + 0x14], 0
jmp dword [eax*4 + 0x442154]
push 0
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x14]
call fcn.00439a60
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor esi, esi
jmp dword [eax*4 + 0x44215c]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], 0xbcbdbebf
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x43], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xe
ja 0x422d7f
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x38]
lea esi, [ecx + edx]
add esi, 0x3381f218
add ecx, 0x18
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
add cl, 0x58
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xf
jb 0x422d30
mov ecx, dword [0x446f44]
test ecx, ecx
je case.0x422394.14
mov ebx, edi
mov edx, dword [esp + 0x38]
xor esi, esi
mov edi, dword [0x446f48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x422db0
inc esi
cmp ecx, esi
jne 0x422da0
jmp 0x422dca
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x422dca
push eax
push 1
push dword [0x446f4c]
push ecx
call fcn.00436a70
add esp, 0x10
mov edi, ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], 0xbcbdbebf
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x43], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xe
ja 0x422e5f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x38]
lea esi, [ecx + edx]
add esi, 0x3381f218
add ecx, 0x18
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
add cl, 0x58
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xf
jb 0x422e10
mov ebx, edi
mov ecx, dword [0x446f44]
test ecx, ecx
je 0x422e98
mov edx, dword [esp + 0x38]
xor esi, esi
mov edi, dword [0x446f48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x422e90
inc esi
cmp ecx, esi
jne 0x422e80
jmp 0x422e98
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x422ea6
mov edi, ebx
jmp dword [0x4421e0]
jmp dword [0x4421e4]
push eax
push 1
push dword [0x446f4c]
push ecx
call fcn.00436a70
add esp, 0x10
mov edi, ebx
jmp dword [0x4421e0]
jmp dword [0x442434]
jmp dword [0x44243c]
push esi
call fcn.00409070
add esp, 4
nop
push esi
call fcn.00409070
add esp, 4
jmp dword [0x442448]
mov eax, dword [esp + 0x90]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
cmp ecx, 3
setne al
jmp dword [eax*4 + 0x44234c]
mov dword [esp + 0x80], ecx
jmp dword [0x442354]
xor eax, eax
jmp dword [0x4423f4]
push edi
mov edi, eax
call fcn.00409070
add esp, 4
mov eax, edi
movzx eax, al
jmp dword [eax*4 + 0x4423fc]
mov dword [esp + 8], 0x7ba4798a
mov dword [esp + 0xc], 0x7f997d8b
mov dword [esp + 0x10], 0x738c719d
mov dword [esp + 0x14], 0x77a17552
mov dword [esp + 0x18], 0xbf90982
mov dword [esp + 0x1c], 0xfef0df8
mov dword [esp + 0x20], 0x3e701f7
mov dword [esp + 0x24], 0x7f805ee
mov dword [esp + 0x28], 0x1bee19e1
mov dword [esp + 0x2c], 0x1fe01dfd
mov dword [esp + 0x30], 0x13f211fa
mov word [esp + 0x34], 0x1512
lea eax, [esp + 0x20]
mov byte [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
mov dword [eax + 0x16], 0
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x58]
cmp eax, 0x36
ja 0x42340d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax - 0x3da54d51]
add eax, 0xaf
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x44]
add al, 0x37
mov ecx, dword [esp + 0x58]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x58]
mov eax, dword [esp + 0x58]
cmp eax, 0x37
jb 0x4233d0
lea edi, [esp + 0xe0]
lea eax, [esp + 8]
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x34]
lea edi, [esp + 0x10c]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x68]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx + ecx]
add eax, 0x2e
test edx, edx
jns 0x423458
mov eax, 0xffffffff
push eax
call fcn.00409060
add esp, 4
movzx ecx, word [esi]
mov dword [esp + 0x68], eax
test cx, cx
je 0x423491
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x68]
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 0x423480
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x78]
movzx ecx, word [edx]
test cx, cx
je 0x4234c1
add edx, 2
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 0x4234b0
mov word [eax], 0
movzx ecx, word [esp + 0xe0]
test cx, cx
je 0x4234f1
lea edx, [esp + 0xe2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4234e0
mov word [eax], 0
mov dword [esp + 8], 0x2bbe2dff
mov dword [esp + 0xc], 0x178c2985
mov dword [esp + 0x10], 0x138615b9
mov dword [esp + 0x14], 0x1fb011bc
mov word [esp + 0x18], 0x1d1c
lea eax, [esp + 0x20]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [eax - 2], 0
mov dword [eax - 6], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1e
ja 0x4235a6
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + ecx]
add edx, 0x3515915a
add eax, 0x5a
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, edx
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov ecx, eax
xor ecx, 0x89
and eax, 9
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 8], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1f
jb 0x423550
lea edi, [esp + 0x44]
lea eax, [esp + 8]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x18]
mov ecx, 1
lea edi, [esp + 0x54]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [ebx + 0x12]
cmp ebx, 0xffffffed
jge 0x4235d6
mov eax, 0xffffffff
push eax
call fcn.00409060
add esp, 4
mov edi, eax
mov edx, dword [esp + 0x78]
movzx ecx, word [edx]
test cx, cx
je 0x423611
add edx, 2
mov eax, edi
nop
nop
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 0x423600
mov word [eax], 0
movzx ecx, word [esp + 0x44]
test cx, cx
je 0x423641
lea edx, [esp + 0x46]
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 0x423630
mov word [eax], 0
mov dword [esp + 8], 0xf3f20de2
lea eax, [esp + 0x20]
mov dword [eax - 0xc], 0
mov dword [eax - 0x10], 0
mov dword [eax - 0x14], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xf
ja 0x4236d0
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 8]
lea esi, [eax + 0x155b5a7e]
and esi, edx
lea ecx, [eax + edx]
add ecx, 0x155b5a7e
add eax, 0x7e
and eax, edx
add eax, esi
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
add al, 0x8e
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 8], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x10
jb 0x423680
push 0
push 0
push 0xc00000
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x78]
push edi
push dword [ebp + 8]
call fcn.0041a410
add esp, 0x1c
movzx eax, al
mov ecx, dword [esp + 0x90]
and cl, 1
movzx ecx, cl
mov edx, eax
not edx
and edx, ecx
xor eax, ecx
add eax, ecx
cmp eax, edx
setne al
mov dword [esp + 0x90], eax
jmp dword [0x442404]
push edi
call fcn.00409070
add esp, 4
mov esi, dword [esp + 0x60]
jmp dword [0x44240c]
mov esi, dword [esp + 0x60]
jmp dword [0x44240c]
push dword [esp + 0x68]
call fcn.00409070
add esp, 4
jmp case.0x422394.152
mov dword [esp + 0x114], eax
push eax
call fcn.00402910
add esp, 4
mov dword [esp], eax
jmp dword [0x442398]
mov dword [esp + 8], 0xe4e11a1f
mov dword [esp + 0xc], 0x13160816
mov dword [esp + 0x10], 0xdc28e0d6
mov dword [esp + 0x14], 0x2b2e302e
mov dword [esp + 0x18], 0x2cd1d9d9
mov word [esp + 0x1c], 0x38d5
mov byte [esp + 0x1e], 0xb6
lea eax, [esp + 0x20]
mov byte [eax + 1], 0
mov word [eax - 1], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x44]
cmp eax, 0x19
ja 0x42380c
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + 0x16]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x589cde16
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
or ecx, 0x65
and eax, 0x65
add eax, ecx
inc al
mov ecx, dword [esp + 0x44]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x44]
mov eax, dword [esp + 0x44]
cmp eax, 0x1a
jb 0x4237c0
lea eax, [esp + 8]
push eax
push dword [esp + 4]
call fcn.00402cd0
add esp, 8
jmp case.0x422394.127
lea eax, [esp + 8]
push eax
push dword [esp + 4]
call fcn.00402cd0
add esp, 8
jmp dword [0x4423a0]
mov dword [esp + 8], 0xe4e11a1f
mov dword [esp + 0xc], 0x13160816
mov dword [esp + 0x10], 0xdc28e0d6
mov dword [esp + 0x14], 0x2b2e302e
mov dword [esp + 0x18], 0x2cd1d9d9
mov word [esp + 0x1c], 0x38d5
mov byte [esp + 0x1e], 0xb6
lea eax, [esp + 0x20]
mov byte [eax + 1], 0
mov word [eax - 1], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x44]
cmp eax, 0x19
ja 0x423820
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + 0x16]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x589cde16
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
or ecx, 0x65
and eax, 0x65
add eax, ecx
inc al
mov ecx, dword [esp + 0x44]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x44]
mov eax, dword [esp + 0x44]
cmp eax, 0x1a
jb 0x423890
jmp 0x423820
mov esi, eax
mov dword [esp + 0xb8], edi
mov ecx, eax
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne 0x4238f0
mov ecx, eax
not ecx
and ecx, esi
mov edi, esi
not edi
and edi, eax
mov dword [esp + 0x74], edi
mov dword [esp], ecx
sub edi, ecx
mov eax, edi
and eax, 3
mov edx, edi
or edx, 3
imul edx, eax
xor eax, 3
mov ecx, edi
and ecx, 0xfffffffc
imul ecx, eax
add edx, ecx
shr edx, 2
movzx eax, byte [edi + esi - 1]
cmp eax, 0x3d
je 0x423939
cmp eax, 0x2e
jne 0x42393a
dec edx
movzx eax, byte [edi + esi - 2]
cmp eax, 0x3d
mov dword [esp + 0x7c], edi
mov dword [esp + 0x94], esi
je 0x423954
cmp eax, 0x2e
jne 0x423955
dec edx
mov dword [esp + 0x110], edx
lea eax, [edx + 1]
push eax
call fcn.00409060
add esp, 4
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x74]
cmp eax, dword [esp]
jne case.default.0x4239d6
mov ecx, dword [esp + 0x110]
mov eax, ecx
or eax, 0xfffffffa
and ecx, 0xfffffffa
add eax, ecx
inc eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x70]
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
push 0x932a8d34
push dword [0x446f50]
call fcn.00438bd0
add esp, 8
lea ecx, [esp + 0x58]
lea edx, [esp + 0x44]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4423a4]
mov dword [esp], 0
mov edi, dword [esp + 0xb8]
jmp dword [0x4423c4]
mov dword [esp], 0
mov esi, 2
jmp 0x423a13
mov dword [esp], eax
lea eax, [esi + 4]
add esi, 2
cmp esi, edi
mov esi, eax
jae 0x423975
mov edi, dword [esp + 0x94]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.0040fee0
add esp, 4
mov byte [esp + 0x74], al
movzx eax, byte [edi + esi - 1]
push eax
call fcn.0040fee0
add esp, 4
movzx ecx, byte [esp + 0x74]
shl cl, 2
mov byte [esp + 0x74], al
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esp + 0x70]
mov edx, dword [esp]
mov byte [ecx + edx], al
mov eax, edx
and eax, 1
mov ecx, edx
xor ecx, 1
lea eax, [ecx + eax*2]
mov edi, dword [esp + 0x7c]
cmp esi, edi
jae 0x423a00
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x94]
movzx eax, byte [eax + esi]
push eax
call fcn.0040fee0
add esp, 4
cmp al, 0x40
jne 0x423aa0
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov edi, dword [esp + 0x7c]
jmp 0x423a03
mov byte [esp + 0x67], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x3c
add eax, ecx
inc eax
movzx ecx, byte [esp + 0x74]
shl ecx, 4
shr eax, 2
add eax, ecx
mov edi, dword [esp + 0x8c]
lea edx, [edi + 1]
mov ecx, dword [esp + 0x70]
mov byte [ecx + edi], al
lea eax, [esi + 1]
mov edi, dword [esp + 0x7c]
cmp eax, edi
mov dword [esp], edx
jae 0x423a03
mov eax, dword [esp + 0x94]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.0040fee0
mov edi, dword [esp + 0x80]
add esp, 4
cmp al, 0x40
je 0x423a03
movzx ecx, byte [esp + 0x67]
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x8c]
mov byte [ecx + edx + 1], al
add edx, 2
mov dword [esp], edx
jmp 0x423a03
mov dword [esp + 8], 0x5be6592f
mov dword [esp + 0xc], 0x572055e4
mov dword [esp + 0x10], 0x53da51dc
mov dword [esp + 0x14], 0xafaead20
mov byte [esp + 0x18], 0
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x6c]
cmp eax, 0x10
ja 0x423b9c
nop
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + 0x74]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xeaef1974
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xd4
mov ecx, dword [esp + 0x6c]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
cmp eax, 0x11
jb 0x423b60
lea edi, [esp + 0xe0]
lea eax, [esp + 8]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x18]
xor ecx, ecx
lea edi, [esp + 0xf0]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [ebx + 0x10]
cmp ebx, 0xffffffef
jge 0x423bcf
mov eax, 0xffffffff
push eax
call fcn.00409060
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x78]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x423c11
mov eax, dword [esp + 0x78]
lea edx, [eax + 2]
mov eax, edi
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 [edx]
add edx, 2
test cx, cx
jne 0x423c00
mov word [eax], 0
movzx ecx, word [esp + 0xe0]
test cx, cx
je 0x423c41
lea edx, [esp + 0xe2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423c30
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [esp + 0x58]
push dword [esp + 0x60]
push edi
call fcn.004097b0
mov dword [esp], eax
jmp dword [0x4423ac]
jmp dword [0x4423b4]
mov eax, dword [esp + ecx*4 + 0x11c]
mov ebx, 0xfffffffe
nop
nop
nop
nop
cmp word [eax + ebx + 2], 0
lea ebx, [ebx + 2]
jne 0x423c80
mov dword [esp + 0x78], eax
mov eax, ebx
sar eax, 1
mov dword [esp + 0x68], eax
mov dword [esp + 8], 0xb5e0d68
mov dword [esp + 0xc], 0x779097b
mov dword [esp + 0x10], 0x3760565
mov dword [esp + 0x14], 0x1f710120
mov dword [esp + 0x18], 0x1b7b1d90
mov dword [esp + 0x1c], 0x176b1994
mov word [esp + 0x20], 0x1514
lea eax, [esp + 0x20]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x44]
cmp eax, 0x1f
ja 0x423d36
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + ecx]
add edx, 0xc1a4fb82
add eax, 0xc1a4fb82
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xe0], edx
mov eax, dword [esp + 0xe0]
add al, 0x72
mov ecx, dword [esp + 0x44]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x44]
mov eax, dword [esp + 0x44]
cmp eax, 0x20
jb 0x423cf0
lea edi, [esp + 0xc4]
lea eax, [esp + 8]
mov ecx, 6
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
lea edi, [esp + 0xdc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x68]
lea ecx, [edx + eax]
add edx, eax
add edx, 0xd
lea eax, [ecx + ecx]
add eax, 0x1a
test edx, edx
jns 0x423d81
mov eax, 0xffffffff
push eax
call fcn.00409060
add esp, 4
mov edi, eax
movzx ecx, word [esi]
test cx, cx
je 0x423db1
mov edx, dword [esp + 0x98]
mov eax, edi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423da0
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x78]
movzx ecx, word [edx]
test cx, cx
je 0x423de1
add edx, 2
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 0x423dd0
mov word [eax], 0
movzx ecx, word [esp + 0xc4]
test cx, cx
je 0x423e11
lea edx, [esp + 0xc6]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423e00
mov word [eax], 0
lea eax, [esp + 0x84]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.004396e0
add esp, 0x14
mov ecx, dword [esp + 0x80]
jmp dword [0x44235c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442364]
lea eax, [esp + 0xc0]
push 0
push eax
push dword [esp + 0x8c]
call fcn.00439a60
add esp, 0xc
not eax
shr eax, 0x1f
xor esi, esi
mov dword [esp + 0xbc], edi
jmp dword [eax*4 + 0x44236c]
mov dword [esp + 0x118], ebx
mov ebx, dword [case.0x422394.120]
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
lea esi, [eax + 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00409060
add esp, 4
jmp ebx
mov edi, eax
push 0
push dword [esp + 4]
push eax
push dword [esp + 0x90]
call fcn.00439b60
add esp, 0x10
not eax
shr eax, 0x1f
xor esi, esi
mov ebx, dword [esp + 0x118]
jmp dword [eax*4 + 0x442384]
mov eax, dword [esp + 0xc0]
mov byte [edi + eax], 0
push edi
call fcn.00401e90
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
jmp dword [ecx*4 + 0x44238c]
mov esi, dword [esp + ecx*4 + 0x11c]
mov eax, 0xfffffffe
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x423f10
sar eax, 1
mov dword [esp + 8], 0xb5e0d68
mov dword [esp + 0xc], 0x779097b
mov dword [esp + 0x10], 0x3760565
mov dword [esp + 0x14], 0x1f710120
mov dword [esp + 0x18], 0x1b7b1d90
mov dword [esp + 0x1c], 0x176b1994
mov word [esp + 0x20], 0x1514
lea ecx, [esp + 0x20]
mov word [ecx + 6], 0
mov dword [ecx + 2], 0
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x1f
ja 0x423fc8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x44]
movzx edx, byte [esp + edx + 8]
lea edi, [ecx + edx]
add edi, 0xc1a4fb82
add ecx, 0xc1a4fb82
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esp + 0xe0], edi
mov ecx, dword [esp + 0xe0]
add cl, 0x72
mov edx, dword [esp + 0x44]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
cmp ecx, 0x20
jb 0x423f80
lea edi, [esp + 0xc4]
lea edx, [esp + 8]
mov ecx, 6
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x20]
lea edi, [esp + 0xdc]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, dword [esp + 0x88]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd
lea eax, [edx + edx]
add eax, 0x1a
test ecx, ecx
jns 0x424013
mov eax, 0xffffffff
push eax
call fcn.00409060
add esp, 4
mov ecx, dword [esp + 0x60]
movzx edx, word [ecx]
mov ecx, eax
test dx, dx
je 0x424051
mov edi, dword [esp + 0x98]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x424040
mov word [ecx], 0x5c
add ecx, 2
movzx edx, word [esi]
test dx, dx
je 0x424081
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x424070
mov word [ecx], 0
movzx edx, word [esp + 0xc4]
test dx, dx
je 0x4240b1
lea esi, [esp + 0xc6]
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x4240a0
mov word [ecx], 0
lea ecx, [esp + 0x84]
push 0x60
push 3
push 0x120089
push ecx
push eax
call fcn.004396e0
add esp, 0x14
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
jmp case.0x422394.110
inc ecx
inc ecx
jmp dword [0x442430]
mov eax, dword [case.0x422394.143]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x4423dc]
jmp dword [0x4423e4]
push edi
call fcn.00409070
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.00409070
add esp, 4
jmp dword [0x4423f0]
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 8], 0xbcbdbebf
lea eax, [esp + 0x20]
mov dword [eax - 0xd], 0
mov dword [eax - 0x10], 0
mov dword [eax - 0x14], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x44]
cmp eax, 0xe
ja 0x4241be
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x44]
movzx eax, byte [esp + eax + 8]
lea edx, [ecx + eax]
add edx, 0x3381f218
add ecx, 0x18
and ecx, eax
add ecx, ecx
mov eax, ecx
xor eax, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
mov dword [esp + 0xe0], ecx
mov eax, dword [esp + 0xe0]
add al, 0x58
mov ecx, dword [esp + 0x44]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x44]
mov eax, dword [esp + 0x44]
cmp eax, 0xf
jb 0x424170
mov ecx, dword [0x446f44]
test ecx, ecx
je 0x424200
mov edx, dword [esp + 8]
xor edi, edi
mov eax, dword [0x446f48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x11081610
je 0x4241f0
inc edi
cmp ecx, edi
jne 0x4241e0
jmp 0x424200
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
jne 0x42423f
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0xbc]
mov eax, esi
mov esi, dword [esp + 0x60]
jmp dword [0x4423f4]
movzx eax, al
jmp dword [eax*4 + 0x4423fc]
mov eax, dword [case.0x422394.160]
mov ecx, dword [esp + 0x80]
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x442424]
inc ecx
jmp dword [0x442430]
push dword [esp]
push 1
push dword [0x446f4c]
push eax
call fcn.00436a70
add esp, 0x10
mov edi, dword [esp + 0xbc]
mov eax, esi
mov esi, dword [esp + 0x60]
jmp dword [0x4423f4]
push dword [esp + 0x70]
call fcn.00409070
add esp, 4
push dword [esp + 0x114]
call fcn.00402ec0
add esp, 4
mov esi, dword [esp]
jmp case.0x422394.122
push 0x2e0ec9bb
push dword [0x446f3c]
call fcn.00438bd0
add esp, 8
push dword [esp + 0x5c]
call eax
mov edi, dword [esp + 0xb8]
jmp dword [0x4423c4]
push edi
call fcn.00409070
add esp, 4
push edi
call fcn.00409070
add esp, 4
jmp dword [0x4423c0]