Function at 0x429d1d
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e8
call fcn.0040cac0
mov dword [esp + 0x11e8], 0x93209134
mov dword [esp + 0x11ec], 0x9fd19dd1
mov dword [esp + 0x11f0], 0x9b2999d1
mov dword [esp + 0x11f4], 0x87348538
mov dword [esp + 0x11f8], 0x83268139
mov dword [esp + 0x11fc], 0x8f3d8d31
mov dword [esp + 0x1200], 0x8b3889c5
mov dword [esp + 0x1204], 0xf5f4
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x78]
cmp eax, 0x1f
ja 0x428d51
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x78]
movzx eax, byte [esp + eax + 0x11e8]
push dword [esp + 0x78]
push eax
call fcn.0042abc0
add esp, 8
mov ecx, dword [esp + 0x78]
mov byte [esp + ecx + 0x11e8], al
inc dword [esp + 0x78]
mov eax, dword [esp + 0x78]
cmp eax, 0x20
jb 0x428d20
lea eax, [esp + 0x38]
lea edi, [esp + 0x11e8]
push 0
push 0
push 0x20019
push eax
push edi
call fcn.00449db0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x452078]
lea eax, [esp + 0x60]
lea ecx, [esp + 0x34]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x58]
call fcn.0044a1d0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452080]
xor eax, eax
jmp 0x42a421
xor ecx, ecx
xor eax, eax
mov dword [esp + 4], 0
cmp ecx, dword [esp + 0x34]
setb al
xor ebx, ebx
jmp dword [eax*4 + 0x452088]
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x34]
setb al
jmp dword [eax*4 + 0x452088]
mov esi, edi
mov edi, dword [esp + 0x60]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x428df5
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov ebp, eax
mov dword [esp + 0x5c], edi
lea eax, [esp + 0x5c]
push eax
push ebp
push ebx
push dword [esp + 0x44]
call fcn.00449ef0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452098]
mov edi, esi
jmp dword [0x452128]
lea eax, [esp + 0x48]
push dword [esp + 0x38]
push 0
push 0x20019
push eax
push ebp
call fcn.00449db0
add esp, 0x14
not eax
shr eax, 0x1f
mov edi, esi
jmp dword [eax*4 + 0x4520a0]
mov dword [esp + 0x78], 0x7f177935
mov dword [esp + 0x7c], 0x63f47d1b
mov dword [esp + 0x80], 0x67f161f3
mov dword [esp + 0x84], 0x6b0065f7
mov dword [esp + 0x88], 0x6f1269fc
mov dword [esp + 0x8c], 0x93fb6d17
mov dword [esp + 0x90], 0x97f29102
mov dword [esp + 0x94], 0x9b019507
mov dword [esp + 0x98], 0x9fbe990f
mov dword [esp + 0x9c], 0x83e79dd1
mov dword [esp + 0xa0], 0x87118117
mov dword [esp + 0xa4], 0x8be185e5
mov dword [esp + 0xa8], 0x8f1c89e1
mov dword [esp + 0xac], 0xb3928de7
mov dword [esp + 0xb0], 0xb723b1c7
mov dword [esp + 0xb4], 0xbb2db5d2
mov dword [esp + 0xb8], 0xbf29b921
mov dword [esp + 0xbc], 0xa3c7bd28
mov dword [esp + 0xc0], 0xa7daa1cd
mov dword [esp + 0xc4], 0xab3ca5d4
mov dword [esp + 0xc8], 0xafc4a93b
mov dword [esp + 0xcc], 0xd3beadc5
mov dword [esp + 0xd0], 0xd741d1b5
mov dword [esp + 0xd4], 0xdb83d5a8
mov dword [esp + 0xd8], 0xdf85d98f
mov dword [esp + 0xdc], 0xc385dd89
mov dword [esp + 0xe0], 0xc78cc18a
mov dword [esp + 0xe4], 0xcb9ec594
mov dword [esp + 0xe8], 0xcf99c999
mov dword [esp + 0xec], 0xf3a3cd9d
mov dword [esp + 0xf0], 0xf792f1a1
mov dword [esp + 0xf4], 0xfbbcf5a3
mov dword [esp + 0xf8], 0xffa6f9a0
mov dword [esp + 0xfc], 0xe3b2fdbd
mov dword [esp + 0x100], 0xe7b7e1b0
mov dword [esp + 0x104], 0xebbee5b4
mov dword [esp + 0x108], 0xefb8e9ae
mov dword [esp + 0x10c], 0x1348edad
mov dword [esp + 0x110], 0x174d114a
mov dword [esp + 0x114], 0x1b66154e
mov word [esp + 0x118], 0x1918
lea eax, [esp + 0x118]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa4
ja 0x42907c
nop
nop
nop
mov eax, dword [esp + 0x878]
movzx eax, byte [esp + eax + 0x78]
push dword [esp + 0x878]
push eax
call fcn.0042ac30
add esp, 8
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa5
jb 0x429040
lea edi, [esp + 0xdbe]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0xe5e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x93eb91c5
mov dword [esp + 0x7c], 0xafdcadcf
mov dword [esp + 0x80], 0xabd9a9df
mov dword [esp + 0x84], 0xa7d8a5d3
mov dword [esp + 0x88], 0xa3c6a12c
mov dword [esp + 0x8c], 0xbfc7bdd3
mov dword [esp + 0x90], 0xbbc6b9ce
mov dword [esp + 0x94], 0xb739b5c3
mov dword [esp + 0x98], 0xb392b1c3
mov dword [esp + 0x9c], 0xcfa2cd9a
mov dword [esp + 0xa0], 0xcb89c9ac
mov dword [esp + 0xa4], 0xc7b4c549
mov dword [esp + 0xa8], 0xc3bfc1b2
mov dword [esp + 0xac], 0xdf52ddaa
mov dword [esp + 0xb0], 0xdba7d9b6
mov dword [esp + 0xb4], 0xd7a5d5a6
mov dword [esp + 0xb8], 0xd3a5d1a9
mov dword [esp + 0xbc], 0xef8aed9a
mov dword [esp + 0xc0], 0xeb93e987
mov dword [esp + 0xc4], 0xe79ae592
mov dword [esp + 0xc8], 0xe36de197
mov dword [esp + 0xcc], 0xffdefd8f
mov dword [esp + 0xd0], 0xfb87f9ad
mov dword [esp + 0xd4], 0xf785f587
mov dword [esp + 0xd8], 0xf38df191
mov dword [esp + 0xdc], 0xf780d75
mov dword [esp + 0xe0], 0xb2a0977
mov dword [esp + 0xe4], 0x78b0557
mov dword [esp + 0xe8], 0x3710162
mov dword [esp + 0xec], 0x1f6d1d95
mov dword [esp + 0xf0], 0x1b671994
mov dword [esp + 0xf4], 0x17721561
mov dword [esp + 0xf8], 0x13601140
mov dword [esp + 0xfc], 0x2f502d5b
mov dword [esp + 0x100], 0x2b5e2951
mov dword [esp + 0x104], 0x27552559
mov dword [esp + 0x108], 0x23752144
mov dword [esp + 0x10c], 0x3fb23db1
mov dword [esp + 0x110], 0x3b4d394c
mov dword [esp + 0x114], 0x374d3543
mov dword [esp + 0x118], 0x337b3154
mov dword [esp + 0x11c], 0x4f014d7f
mov dword [esp + 0x120], 0x4b094905
mov dword [esp + 0x124], 0x4718451a
mov dword [esp + 0x128], 0x430e4170
mov dword [esp + 0x12c], 0x5f6d5d6d
mov dword [esp + 0x130], 0x5b6b5969
mov dword [esp + 0x134], 0x572a5565
mov dword [esp + 0x138], 0x53105163
mov dword [esp + 0x13c], 0x6f266d24
mov dword [esp + 0x140], 0x6b5a6929
mov dword [esp + 0x144], 0x67576554
mov dword [esp + 0x148], 0x632e6150
mov dword [esp + 0x14c], 0x7f4c7d3e
mov dword [esp + 0x150], 0x7b347939
mov dword [esp + 0x154], 0x7739753a
mov dword [esp + 0x158], 0x7316713e
mov dword [esp + 0x15c], 0x8d8c
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xe7
ja 0x42937c
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
movzx eax, byte [esp + eax + 0x78]
push dword [esp + 0x878]
push eax
call fcn.0042ac70
add esp, 8
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xe8
jb 0x429340
lea edi, [esp + 0xe60]
lea eax, [esp + 0x78]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x15c]
lea edi, [esp + 0xf44]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x23bb215d
mov dword [esp + 0x7c], 0x27b42547
mov dword [esp + 0x80], 0x5bc959c7
mov dword [esp + 0x84], 0x5f385dc3
mov dword [esp + 0x88], 0x533e51c4
mov dword [esp + 0x8c], 0x5730552b
mov dword [esp + 0x90], 0x4bd3492e
mov dword [esp + 0x94], 0x4f2b4d2f
mov dword [esp + 0x98], 0x4313412c
mov dword [esp + 0x9c], 0x47184517
mov dword [esp + 0xa0], 0x7b167928
mov dword [esp + 0xa4], 0x7feb7d03
mov dword [esp + 0xa8], 0x73ee71e4
mov dword [esp + 0xac], 0x77e975eb
mov dword [esp + 0xb0], 0x6b0669f3
mov dword [esp + 0xb4], 0x6ffc6d1c
mov dword [esp + 0xb8], 0x630461ff
mov dword [esp + 0xbc], 0x67fa65fd
mov dword [esp + 0xc0], 0x9b0999fd
mov dword [esp + 0xc4], 0x9fe19df0
mov dword [esp + 0xc8], 0x93069105
mov dword [esp + 0xcc], 0x97099508
mov dword [esp + 0xd0], 0x8b118917
mov dword [esp + 0xd4], 0x8fc78de0
mov dword [esp + 0xd8], 0x83d581d3
mov dword [esp + 0xdc], 0x87c585d1
mov dword [esp + 0xe0], 0xbbfcb9fe
mov dword [esp + 0xe4], 0xbfeabdec
mov dword [esp + 0xe8], 0xb3e1b1e1
mov dword [esp + 0xec], 0xb7e7b5e5
mov dword [esp + 0xf0], 0xabcea9f9
mov dword [esp + 0xf4], 0xafecadff
mov dword [esp + 0xf8], 0xa3eaa1e8
mov dword [esp + 0xfc], 0xa7f6a5e5
mov dword [esp + 0x100], 0xdb8bd988
mov dword [esp + 0x104], 0xdf8add8c
mov dword [esp + 0x108], 0xd380d192
mov dword [esp + 0x10c], 0xd780d595
mov dword [esp + 0x110], 0xcb9dc99e
mov dword [esp + 0x114], 0xcfa2cd9a
mov word [esp + 0x118], 0xc1c0
mov dword [esp + 0x11a], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa5
ja 0x4295cc
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
movzx eax, byte [esp + eax + 0x78]
push dword [esp + 0x878]
push eax
call fcn.0042acd0
add esp, 8
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa6
jb 0x429590
lea edi, [esp + 0xd1c]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0xdbc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x239b217d
mov dword [esp + 0x7c], 0x27942587
mov dword [esp + 0x80], 0x3b893987
mov dword [esp + 0x84], 0x3f983d83
mov dword [esp + 0x88], 0x339e3184
mov dword [esp + 0x8c], 0x3790356b
mov dword [esp + 0x90], 0xbb309ae
mov dword [esp + 0x94], 0xfab0daf
mov dword [esp + 0x98], 0x37301ac
mov dword [esp + 0x9c], 0x7780570
mov dword [esp + 0xa0], 0x1bb61968
mov dword [esp + 0xa4], 0x1fab1d43
mov dword [esp + 0xa8], 0x13ae11a4
mov dword [esp + 0xac], 0x17a915ab
mov dword [esp + 0xb0], 0x6bc669d3
mov dword [esp + 0xb4], 0x6fdc6d3c
mov dword [esp + 0xb8], 0x63c461df
mov dword [esp + 0xbc], 0x67da65dd
mov dword [esp + 0xc0], 0x7bc979dd
mov dword [esp + 0xc4], 0x7f217dd0
mov dword [esp + 0xc8], 0x73c671c5
mov dword [esp + 0xcc], 0x77c975c8
mov dword [esp + 0xd0], 0x4bf149f7
mov dword [esp + 0xd4], 0x4f074de0
mov dword [esp + 0xd8], 0x43354133
mov dword [esp + 0xdc], 0x47054531
mov dword [esp + 0xe0], 0x5b1c591e
mov dword [esp + 0xe4], 0x5f2a5d2c
mov dword [esp + 0xe8], 0x53215121
mov dword [esp + 0xec], 0x57275525
mov dword [esp + 0xf0], 0xab0ea9d9
mov dword [esp + 0xf4], 0xafecaddf
mov dword [esp + 0xf8], 0xa3eaa1e8
mov dword [esp + 0xfc], 0xa7d6a5e5
mov dword [esp + 0x100], 0xbbcbb9c8
mov dword [esp + 0x104], 0xbfcabdcc
mov dword [esp + 0x108], 0xb3c0b1f2
mov dword [esp + 0x10c], 0xb7c0b5f5
mov dword [esp + 0x110], 0x8bfd89fe
mov dword [esp + 0x114], 0x8f228dfa
mov word [esp + 0x118], 0x8180
lea eax, [esp + 0x118]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa6
ja 0x42981c
nop
mov eax, dword [esp + 0x878]
movzx eax, byte [esp + eax + 0x78]
push dword [esp + 0x878]
push eax
call fcn.0042ad50
add esp, 8
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa7
jb 0x4297e0
lea edi, [esp + 0xc7a]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0xd1a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x57bf499d
mov dword [esp + 0x7c], 0x53ac55bb
mov dword [esp + 0x80], 0x5fa151a3
mov dword [esp + 0x84], 0x5bb05daf
mov dword [esp + 0x88], 0x678259a4
mov dword [esp + 0x8c], 0x638865b7
mov dword [esp + 0x90], 0x6f87618a
mov dword [esp + 0x94], 0x6b876d83
mov dword [esp + 0x98], 0x7747698c
mov dword [esp + 0x9c], 0x73407549
mov dword [esp + 0xa0], 0x7f9a7140
mov dword [esp + 0xa4], 0x7b877daf
mov dword [esp + 0xa8], 0x7f27984
mov dword [esp + 0xac], 0x3f105f7
mov dword [esp + 0xb0], 0xfea01f7
mov dword [esp + 0xb4], 0xbf40ddc
mov dword [esp + 0xb8], 0x17fc09fb
mov dword [esp + 0xbc], 0x13e615fd
mov dword [esp + 0xc0], 0x1fe111fd
mov dword [esp + 0xc4], 0x1bc91df8
mov dword [esp + 0xc8], 0x27da19e5
mov dword [esp + 0xcc], 0x23d125d0
mov dword [esp + 0xd0], 0x2fd921d3
mov dword [esp + 0xd4], 0x2b132dc8
mov dword [esp + 0xd8], 0x370d2917
mov dword [esp + 0xdc], 0x33fd3509
mov dword [esp + 0xe0], 0x3ff431fa
mov dword [esp + 0xe4], 0x3b063d0c
mov dword [esp + 0xe8], 0xc7f93909
mov dword [esp + 0xec], 0xc3f3c5f5
mov dword [esp + 0xf0], 0xcf22c1f1
mov dword [esp + 0xf4], 0xcb04cdf3
mov dword [esp + 0xf8], 0xd7eec9f0
mov dword [esp + 0xfc], 0xd3e2d515
mov dword [esp + 0x100], 0xdfefd1e0
mov dword [esp + 0x104], 0xdbe6ddec
mov dword [esp + 0x108], 0xe7d8d916
mov dword [esp + 0x10c], 0xe3d8e525
mov dword [esp + 0x110], 0xefd5e1da
mov dword [esp + 0x114], 0xeb0eedd6
mov dword [esp + 0x118], 0xe9e8
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa3
ja 0x429a5c
nop
nop
mov eax, dword [esp + 0x878]
movzx eax, byte [esp + eax + 0x78]
push dword [esp + 0x878]
push eax
call fcn.0042ada0
add esp, 8
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa4
jb 0x429a20
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebx
lea eax, [esp + 0xf46]
lea edx, [esp + 0x78]
mov edi, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x118]
mov ecx, 1
lea edi, [esp + 0xfe6]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
lea ecx, [esp + 0xdbe]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0xe60]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0xd1c]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0xc7a]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4520a8]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x878], 0xfcfdfeff
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x78]
cmp eax, 3
ja 0x429b31
mov eax, dword [esp + 0x78]
movzx eax, byte [esp + eax + 0x878]
push dword [esp + 0x78]
push eax
call fcn.0042af10
add esp, 8
mov ecx, dword [esp + 0x78]
mov byte [esp + ecx + 0x878], al
inc dword [esp + 0x78]
mov eax, dword [esp + 0x78]
cmp eax, 4
jb 0x429b00
mov eax, dword [0x456b34]
test eax, eax
je 0x42a190
mov ecx, dword [esp + 0x878]
xor edx, edx
mov ebp, dword [0x456b38]
nop
nop
nop
cmp dword [ebp + edx*8], 0x7e776f1
je 0x42a171
inc edx
cmp eax, edx
jne 0x429b50
jmp 0x42a190
mov esi, edi
mov ecx, dword [esp + 0x54]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4520a8]
mov dword [esp + 0x54], ecx
mov edi, dword [esp + ecx + 0x64]
mov dword [esp + 0x78], 0x114e1f4c
mov dword [esp + 0x7c], 0x15421340
mov dword [esp + 0x80], 0x9461744
mov dword [esp + 0x84], 0xd620b58
mov word [esp + 0x88], 0xf0c
mov dword [esp + 0x8a], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0x15
ja 0x429c2a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
movzx eax, byte [esp + eax + 0x78]
push dword [esp + 0x878]
push eax
call fcn.0042ade0
add esp, 8
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0x16
jb 0x429bf0
movzx eax, word [edi]
lea ebx, [esp + 0xfe8]
test ax, ax
je 0x429c51
add edi, 2
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [edi]
add edi, 2
test ax, ax
jne 0x429c40
mov word [ebx], 0
movzx eax, word [esp + 0x78]
test ax, ax
mov edi, esi
je 0x429c81
lea ecx, [esp + 0x7a]
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 0x429c70
mov word [ebx], 0
mov bp, 0x31
xor eax, eax
cmp bp, 0x35
setb al
mov dword [esp + 0x3c], ebx
jmp dword [eax*4 + 0x4520c0]
inc ebp
xor eax, eax
cmp bp, 0x35
setb al
jmp dword [eax*4 + 0x4520c0]
jmp dword [0x4520d4]
mov word [ebx - 2], bp
lea eax, [esp + 0x44]
lea ecx, [esp + 0xfe8]
push dword [esp + 0x48]
push 0
push 0x20019
push eax
push ecx
call fcn.00449db0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4520d8]
mov dword [esp + 0x58], 0x800
mov dword [esp + 0x40], ebp
mov dword [esp + 0x2c], 0x400
xor esi, esi
mov dword [esp + 8], 0
jmp 0x429d24
mov edx, dword [esp + 4]
mov dword [edi], 0x20003a
add edi, 4
mov al, 1
mov dword [esp + 8], eax
mov ebp, dword [esp + 0xc]
mov dword [esp + 4], edx
inc ebp
mov esi, ebp
lea eax, [esp + 0x2c]
lea ebp, [esp + 0x878]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x58]
push eax
push ebp
push ecx
push edx
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0x20], esi
push esi
push dword [esp + 0x5c]
call fcn.0044a4a0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4520e0]
test byte [esp + 8], 1
sete al
cmp dword [esp + 0x30], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4520e8]
xor eax, eax
cmp dword [esp + 0x30], 3
sete al
jmp dword [eax*4 + 0x4520f8]
mov eax, dword [case.0x42a16a.16]
mov edx, dword [esp + 4]
mov ebp, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], 0x13711151
mov dword [esp + 0x18], 0x1f891d7f
mov dword [esp + 0x1c], 0x1b8c1985
mov dword [esp + 0x20], 0x7060598
lea eax, [esp + 0x24]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x12
ja 0x429e16
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.0042ae30
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x13
jb 0x429df0
movzx edi, word [esp + 0x14]
lea esi, [esp + 0x78]
test di, di
je 0x429e5c
lea eax, [esp + 0x78]
lea edx, [esp + 0x14]
mov esi, eax
jmp 0x429e38
movzx edi, word [edx]
test di, di
je 0x429e5c
movzx ebx, word [eax]
test bx, bx
je 0x429e5a
add eax, 2
add edx, 2
lea ecx, [esi + 2]
cmp bx, di
je 0x429e52
mov esi, ecx
mov eax, ecx
je 0x429e30
lea edx, [esp + 0x14]
jmp 0x429e30
xor esi, esi
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4520f0]
xor eax, eax
cmp dword [esp + 0x30], 3
sete al
mov edi, dword [esp + 0x10]
jmp dword [eax*4 + 0x4520f8]
mov dword [esp + 0x14], 0x690d6b34
mov dword [esp + 0x18], 0x6d1b6f1d
mov dword [esp + 0x1c], 0x71037315
mov dword [esp + 0x20], 0x75127706
mov word [esp + 0x24], 0x7b74
lea eax, [esp + 0x24]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x429ef6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.0042ae80
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x429ed0
mov ebp, edi
movzx edi, word [esp + 0x14]
lea eax, [esp + 0x78]
test di, di
je 0x429f70
lea ecx, [esp + 0x78]
lea edx, [esp + 0x14]
mov eax, ecx
jmp 0x429f28
movzx edi, word [edx]
test di, di
je 0x429f70
movzx ebx, word [ecx]
test bx, bx
je 0x429f6e
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp bx, di
je 0x429f42
mov eax, esi
mov ecx, esi
je 0x429f20
lea edx, [esp + 0x14]
jmp 0x429f20
mov edx, dword [esp + 0x2c]
cmp edx, 2
mov edi, dword [esp + 0x10]
jb 0x429d06
mov ecx, edx
shr ecx, 1
test dl, 2
jne 0x429fb9
mov eax, ecx
jmp 0x429fe1
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov edi, ebp
mov edx, dword [esp + 4]
mov ebp, dword [esp + 0xc]
jmp dword [ecx*4 + 0x452100]
mov ebx, dword [esp + 0x2c]
cmp ebx, 2
jb 0x42a08c
mov edx, ebx
shr edx, 1
lea ecx, [esp + 0x878]
test bl, 2
jne 0x42a029
mov eax, edx
cmp edx, 1
jne 0x42a060
jmp 0x42a08c
and edx, 0xfffffffe
mov eax, ecx
not eax
add eax, edx
movzx edx, word [esp + 0x878]
xor ebx, ebx
test dx, dx
setne bl
lea ebp, [esp + ebx*2]
add ebp, 0x878
mov word [edi], dx
add edi, 2
mov edx, dword [esp + 4]
cmp ecx, 1
je 0x429d0a
nop
nop
movzx ecx, word [ebp]
xor edx, edx
test cx, cx
setne dl
lea esi, [edx*2]
add esi, ebp
mov word [edi], cx
movzx ecx, word [ebp + edx*2]
xor edx, edx
test cx, cx
setne dl
lea ebp, [esi + edx*2]
mov word [edi + 2], cx
add edi, 4
add eax, 0xfffffffe
jne 0x429ff0
jmp 0x429d06
and ebx, 0xfffffffe
mov eax, edx
not eax
add eax, ebx
movzx esi, word [esp + 0x878]
xor ecx, ecx
test si, si
setne cl
lea ecx, [esp + ecx*2]
add ecx, 0x878
mov word [edi], si
add edi, 2
cmp edx, 1
je 0x42a08c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [ecx + ebx*2]
mov word [edi], dx
movzx edx, word [ecx + ebx*2]
xor ecx, ecx
test dx, dx
setne cl
lea ecx, [esi + ecx*2]
mov word [edi + 2], dx
add edi, 4
add eax, 0xfffffffe
jne 0x42a060
mov word [edi], 0xa
add edi, 2
mov eax, dword [case.0x42a16a.16]
nop
nop
nop
nop
nop
nop
nop
mov dl, 1
jmp eax
mov esi, edi
mov edi, dword [esp + 0x44]
mov dword [esp], 0xfcfdfeff
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x42a0f9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax]
push dword [esp + 0x14]
push eax
call fcn.0042af10
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x42a0d0
mov eax, dword [0x456b34]
test eax, eax
je case.default.0x42a16a
mov ecx, dword [esp]
xor edx, edx
mov ebp, dword [0x456b38]
nop
nop
nop
cmp dword [ebp + edx*8], 0x7e776f1
je 0x42a121
inc edx
cmp eax, edx
jne 0x42a110
jmp case.default.0x42a16a
mov eax, dword [ebp + edx*8 + 4]
cmp eax, ecx
jne 0x42a144
mov ebp, dword [esp + 0x40]
inc ebp
xor eax, eax
cmp bp, 0x35
setb al
mov edi, esi
mov ebx, dword [esp + 0x3c]
jmp dword [eax*4 + 0x4520c0]
push edi
push 1
push dword [0x456b3c]
push eax
call fcn.00445e60
add esp, 0x10
mov ebp, dword [esp + 0x40]
inc ebp
xor eax, eax
cmp bp, 0x35
setb al
mov edi, esi
mov ebx, dword [esp + 0x3c]
jmp dword [eax*4 + 0x4520c0]
mov eax, dword [ebp + edx*8 + 4]
cmp eax, ecx
je 0x42a190
push edi
push 1
push dword [0x456b3c]
push eax
call fcn.00445e60
add esp, 0x10
nop
nop
nop
nop
nop
mov eax, dword [case.0x428d72.10]
mov edi, esi
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
nop
jmp eax
jmp dword [0x452128]
push ebp
call fcn.0040cb70
add esp, 4
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x34]
setb al
jmp dword [eax*4 + 0x452088]
mov word [edi], 0
mov eax, dword [esp + 4]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x452090]
movzx ecx, word [esp + 0x11e8]
xor ebx, ebx
test cx, cx
je 0x42a234
lea eax, [esp + 0x11e8]
jmp 0x42a20e
add ebx, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x42a234
cmp eax, edi
jae 0x42a234
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x42a200
mov edx, ecx
jmp 0x42a200
lea eax, [ebx + 1]
mov dword [esp + 0xc], eax
push eax
call fcn.0040cb60
add esp, 4
lea ecx, [esp + 0x11e8]
mov dword [esp + 0x10], edi
cmp ecx, edi
setb cl
mov dword [esp + 8], eax
mov edi, eax
test ebx, ebx
jle 0x42a33d
mov edi, dword [esp + 8]
test cl, cl
je 0x42a33d
mov edi, dword [esp + 8]
lea eax, [edi + ebx]
mov dword [esp + 4], eax
add dword [esp + 0xc], edi
lea edx, [esp + 0x11ea]
mov esi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edx - 2]
test cx, cx
je 0x42a33d
cmp cx, 0x7f
ja 0x42a2b0
mov byte [edi], cl
mov ebp, 1
jmp 0x42a320
mov eax, edi
not eax
add eax, dword [esp + 0xc]
movzx ebx, cx
cmp eax, 2
jb 0x42a2f0
cmp ebx, 0x7ff
ja 0x42a2f0
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov ebp, 2
jmp 0x42a320
xor ebp, ebp
cmp eax, 3
jb 0x42a320
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
and cl, 0x3f
or cl, 0x80
mov byte [edi + 2], cl
mov ebp, 3
nop
nop
nop
nop
nop
nop
add edi, ebp
cmp edi, dword [esp + 4]
jae 0x42a33b
lea eax, [edx + 2]
cmp edx, dword [esp + 0x10]
mov edx, eax
mov ebx, esi
jb 0x42a290
jmp 0x42a33d
mov ebx, esi
mov esi, dword [esp + 0x21fc]
mov byte [edi], 0
mov dword [esp + 0x78], 0x8d8e8fdf
mov dword [esp + 0x7c], 0x81f1f68b
mov dword [esp + 0x80], 0x9c88868f
mov dword [esp + 0x84], 0x999dfad9
mov dword [esp + 0x88], 0x9c9f9e90
mov dword [esp + 0x8c], 0x9490f3d1
mov dword [esp + 0x90], 0xde9a9ce2
mov dword [esp + 0x94], 0xb5aee5ad
mov dword [esp + 0x98], 0x3fa8
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0x23
ja 0x42a3fa
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
movzx eax, byte [esp + eax + 0x78]
push dword [esp + 0x878]
push eax
call fcn.0042af70
add esp, 8
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0x24
jb 0x42a3c0
lea eax, [esp + 0x78]
mov ecx, esi
push ebx
mov esi, dword [esp + 0xc]
push esi
push eax
call fcn.0040da30
jmp dword [0x452130]
push esi
mov esi, eax
call fcn.0040cb70
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21e8
pop esi
pop edi
pop ebx
pop ebp
ret