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

Disassembly:
sub esp, 0xc68
movzx eax, byte [0x6900d8]
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, 0x2d2
push ebx
movzx ebx, byte [0x68feb4]
push ebp
mov ecx, 0x2f
mov dword [esp + 0x108], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x138], eax
mov eax, 0x9b
push esi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xbc], eax
mov eax, 0xa5
mov ebp, 0x28
push edi
mov edi, 0x23
mov dword [esp + 0x108], ecx
mov dword [esp + 0x118], ecx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x138], ecx
mov ecx, 0x88
mov esi, 0x1b6
mov edx, 0x24d
mov dword [esp + 0x150], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x14], 0x1b9
mov dword [esp + 0x10c], 0x2d
mov dword [esp + 0x114], 0x80
mov dword [esp + 0x11c], 0xc3
mov dword [esp + 0x124], 0x116
mov dword [esp + 0x12c], 0x159
mov dword [esp + 0x134], 0x1ac
mov dword [esp + 0x13c], 0x1ef
mov dword [esp + 0x144], 0x242
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], 4
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], 0x9a
mov dword [esp + 0xa4], 0x11f
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], 0x130
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], 0x1c6
mov dword [esp + 0xc4], edx
mov dword [esp + 0x148], ebp
mov dword [esp + 0x14c], 0xc
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], ebp
mov dword [esp + 0x15c], 0xa2
mov dword [esp + 0x164], 0x11f
mov dword [esp + 0x168], ebp
mov dword [esp + 0x16c], 0x138
mov dword [esp + 0x174], esi
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], 0x1ce
mov dword [esp + 0x184], edx
mov eax, 0xa
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf8], eax
mov eax, dword [0x66b038]
test eax, eax
mov dword [esp + 0xcc], 0x3c
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], 0x64
mov dword [esp + 0xdc], 0xd2
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], 0xfa
mov dword [esp + 0xec], 0x168
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], 0x190
mov dword [esp + 0xfc], 0x1fe
mov dword [esp + 0x100], edi
mov dword [esp + 0x104], 0x226
jle 0x42bd4b
push 1
call fcn.0043c590
push eax
call fcn.00417b80
lea ecx, [esp + 0x67c]
push 0x84
push ecx
call fcn.00401300
lea edx, [esp + 0x1b8]
push 0x84
push edx
call fcn.00401300
lea eax, [esp + 0x244]
push 0x84
push eax
call fcn.00401300
lea ecx, [esp + 0x610]
push 0x84
push ecx
call fcn.00401300
lea edx, [esp + 0x720]
push 0x84
push edx
call fcn.00401300
lea eax, [esp + 0x518]
push 0x84
push eax
call fcn.00401300
lea ecx, [esp + 0x5a4]
push 0x84
push ecx
call fcn.00401300
add esp, 0x40
lea edx, [esp + 0x2b0]
push 0x84
push edx
call fcn.00401300
lea eax, [esp + 0x43c]
push 0x84
push eax
call fcn.00401300
mov ecx, dword [0x4633b4]
mov edx, dword [0x4633b0]
mov eax, dword [0x4b804c]
add esp, 0x10
push ecx
push edx
push eax
sub esp, 0x84
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x704]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c4]
push ecx
call fcn.0043b880
mov edx, dword [0x4633b4]
add esp, 0x94
push edx
mov esi, eax
mov eax, dword [0x4633b0]
mov ecx, 0x21
lea edi, [esp + 0x678]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4b804c]
push eax
push ecx
sub esp, 0x84
lea edx, [esp + 0x3c4]
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x238]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0043b880
mov esi, eax
mov eax, dword [0x4633b4]
mov ecx, 0x21
lea edi, [esp + 0x23c]
add esp, 0x94
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b0]
mov edx, dword [0x4b804c]
push eax
push ecx
push edx
sub esp, 0x84
lea eax, [esp + 0x3c4]
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x2bc]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0043b880
mov edx, dword [0x4633b0]
mov esi, eax
mov eax, dword [0x4b804c]
add esp, 0x94
mov ecx, 0x21
lea edi, [esp + 0x22c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b4]
push ecx
push edx
push eax
sub esp, 0x84
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x680]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c4]
push ecx
call fcn.0043b880
mov edx, dword [0x4633b4]
add esp, 0x94
push edx
mov esi, eax
mov eax, dword [0x4633b0]
mov ecx, 0x21
lea edi, [esp + 0x5f4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4b804c]
push eax
push ecx
sub esp, 0x84
lea edx, [esp + 0x3c4]
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x788]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0043b880
mov edx, dword [0x4b804c]
add esp, 0x94
mov esi, eax
mov eax, dword [0x4633b4]
push eax
mov ecx, 0x21
lea edi, [esp + 0x6fc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b0]
push ecx
push edx
sub esp, 0x84
lea eax, [esp + 0x3c4]
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x578]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0043b880
mov edx, dword [0x4633b0]
mov esi, eax
mov eax, dword [0x4b804c]
mov ecx, 0x21
lea edi, [esp + 0x57c]
add esp, 0x94
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b4]
push ecx
push edx
push eax
sub esp, 0x84
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x5fc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c4]
push ecx
call fcn.0043b880
mov edx, dword [0x4633b4]
add esp, 0x94
push edx
mov esi, eax
mov eax, dword [0x4633b0]
mov ecx, 0x21
lea edi, [esp + 0x570]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4b804c]
push eax
push ecx
sub esp, 0x84
lea edx, [esp + 0x3c4]
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x340]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0043b880
mov edx, dword [0x4b804c]
add esp, 0x94
mov esi, eax
mov eax, dword [0x4633b4]
push eax
mov ecx, 0x21
lea edi, [esp + 0x2b4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b0]
push ecx
push edx
sub esp, 0x84
lea eax, [esp + 0x3c4]
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x4c4]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0043b880
mov edx, dword [0x4633b0]
add esp, 0x94
push 0
push 0
push 0
sub esp, 0x84
mov esi, eax
mov ecx, 0x21
lea edi, [esp + 0x4c4]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 0x21
mov esi, 0x4b7fc0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b4]
push ecx
push edx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x798]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
add esp, 0x124
push 0
sub esp, 0x84
mov ecx, 0x21
mov esi, 0x4b7fc0
mov edi, esp
mov byte [0x68feb4], 0
mov byte [0x6900d8], 0
rep movsd dword es:[edi], dword [esi]
call fcn.00426e90
mov edx, dword [0x4633b0]
add esp, 0x88
mov al, byte [esp + 0x2c]
push 0
push 0
push 0
sub esp, 0x84
mov edi, esp
mov ecx, 0x21
mov esi, 0x4b7fc0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b4]
push ecx
push edx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x2cc]
mov edi, esp
mov byte [0x68feb4], bl
mov byte [0x6900d8], al
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
mov eax, dword [0x4633b4]
add esp, 0x124
push 0
push 0
push 0
sub esp, 0x84
mov edi, esp
push eax
mov ecx, 0x21
mov esi, 0x4b7fc0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b0]
push ecx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x350]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
add esp, 0xa0
mov edi, esp
lea edx, [esp + 0x3b8]
push str.HISTMAIN
mov ecx, 0x21
lea esi, [esp + 0x570]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0043ba40
mov esi, eax
add esp, 8
mov ecx, 0x21
lea edi, [esp + 0x56c]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea eax, [esp + 0x3b8]
push str.HISTMAINC
mov ecx, 0x21
lea esi, [esp + 0x5f4]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0043ba40
add esp, 8
mov esi, eax
mov ecx, 0x21
lea edi, [esp + 0x5f0]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x334]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3b8]
push str.HISTMAINP
push ecx
call fcn.0043ba40
mov ecx, 0x21
mov esi, eax
add esp, 8
lea edi, [esp + 0x334]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea edx, [esp + 0x3b8]
push str.HISTMAINM
mov ecx, 0x21
lea esi, [esp + 0x4bc]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0043ba40
add esp, 0x8c
push 0xff
push 0
push 0
sub esp, 0x84
mov esi, eax
mov eax, dword [0x4633b4]
mov ecx, 0x21
lea edi, [esp + 0x4c4]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
push eax
mov ecx, 0x21
lea esi, [esp + 0x57c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b0]
push ecx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x2cc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0040c7d0
mov edx, dword [0x4633b4]
mov eax, dword [0x4633b0]
add esp, 0x124
push 0
push 0
push 0
sub esp, 0x84
mov edi, esp
push edx
push eax
push 0
push 0
mov ecx, 0x21
lea esi, [esp + 0x248]
rep movsd dword es:[edi], dword [esi]
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x714]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
mov edx, dword [0x4633b0]
add esp, 0x124
push 0xff
push 0
push 0
sub esp, 0x84
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x5fc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b4]
push ecx
push edx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x350]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0040c7d0
add esp, 0x124
push 0
mov eax, dword [0x4633b4]
push 0
push 0
sub esp, 0x84
mov edi, esp
push eax
mov ecx, 0x21
lea esi, [esp + 0x2c0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b0]
push ecx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x81c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
mov edx, dword [0x8277c0]
push edx
push 0
push 0
push 6
push 4
push 0x4622d6
call fcn.004397e0
mov eax, dword [0x66b038]
add esp, 0x13c
add eax, 0xfffffffc
mov dword [esp + 0x10], eax
mov edi, edi
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 4]
cmp ecx, eax
mov ebp, ecx
mov dword [esp + 0x50], ebp
jge 0x42b2c0
lea edx, [esp + 0x87c]
lea eax, [esp + 0x188]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x24], 0
cmp dword [0x66b038], ebp
mov edx, dword [esp + 0x48]
mov dword [edx], 0
jle 0x42b28c
test ebp, ebp
jge 0x42ade3
xor ebp, ebp
mov dword [esp + 0x50], ebp
lea ebx, [ebp + ebp*2]
shl ebx, 3
lea edi, [ebx + 0x66815c]
mov esi, edi
mov eax, 0x519040
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x42ae1b
test cl, cl
je 0x42ae17
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x42ae1b
add eax, 2
add esi, 2
test cl, cl
jne 0x42adf7
xor eax, eax
jmp 0x42ae20
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42ae4a
push 0
push 0x5009a0
push edi
call fcn.0041a910
mov edx, 0x519040
add esp, 0xc
mov eax, edi
sub edx, edi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42ae40
mov eax, dword [ebx + 0x668158]
mov cl, byte [eax + 0x5009a0]
cmp cl, 0x23
mov dword [esp + 0x1c], eax
je 0x42ae95
cmp cl, 0x7e
je 0x42ae89
push 0
push 0x27
push 0x22
lea eax, [esp + 0x788]
push eax
lea ecx, [esp + 0x2c]
push ecx
push 0x5009a0
call fcn.00426a40
add esp, 0x18
jmp 0x42b1f2
add eax, 2
mov dword [esp + 0x1c], eax
jmp 0x42b1f2
push 0x3d
push 0xa
push 0xd
push 0x472d28
lea edx, [esp + 0x2c]
push edx
inc eax
push 0x5009a0
mov dword [esp + 0x34], eax
call fcn.00426a40
mov ebx, eax
mov al, byte [0x472d28]
add esp, 0x18
cmp al, 0x3a
jne 0x42aef7
push 0x472d28
lea eax, [esp + 0x338]
push 0x8279cb
push eax
call fcn.0043fa31
add esp, 0xc
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x334]
mov byte [eax + 0x472d28], cl
inc eax
test cl, cl
jne 0x42aee0
jmp 0x42afb5
mov ebp, 2
mov edi, 0x827aca
mov esi, 0x472d28
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x42af2c
test cl, cl
je 0x42af28
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x42af2c
add eax, 2
add esi, 2
test cl, cl
jne 0x42af08
xor eax, eax
jmp 0x42af31
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42af46
add edi, 0x11f
inc ebp
cmp edi, 0x82b09a
jl 0x42af01
jmp 0x42af82
mov eax, ebp
imul eax, eax, 0x11f
push 0x472d28
add eax, 0x8278ac
push eax
lea ecx, [esp + 0x33c]
push ecx
call fcn.0043fa31
add esp, 0xc
xor eax, eax
nop
lea esp, [esp]
mov cl, byte [esp + eax + 0x334]
mov byte [eax + 0x472d28], cl
inc eax
test cl, cl
jne 0x42af70
cmp ebp, 0x32
jne 0x42afb5
push 0x472d28
lea edx, [esp + 0x338]
push 0x8278ac
push edx
call fcn.0043fa31
add esp, 0xc
xor eax, eax
mov cl, byte [esp + eax + 0x334]
mov byte [eax + 0x472d28], cl
inc eax
test cl, cl
jne 0x42afa3
cmp ebx, 3
jne 0x42b0aa
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
push 0x2c
push 0xa
push 0xd
push ecx
lea edx, [esp + 0x2c]
push edx
push 0x5009a0
mov dword [eax], 1
call fcn.00426a40
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + eax + 0xe4]
mov ebx, dword [esp + eax + 0xec]
mov edx, dword [esp + eax + 0xe8]
add esp, 0x18
push 0
push 0x28
lea ecx, [esp + eax + 0xd4]
mov eax, dword [ecx - 4]
push 0
sub esp, 0x84
mov edi, esp
sub ebx, ebp
push ebx
sub edx, eax
push edx
push ebp
push eax
mov ecx, 0x21
lea esi, [esp + 0x350]
rep movsd dword es:[edi], dword [esi]
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x2cc]
mov edi, esp
mov dword [esp + 0x13c], eax
mov dword [esp + 0x170], edx
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
mov edx, dword [esp + 0x13c]
add esp, 0x124
push 0
push 0x28
push 0x19
sub esp, 0x84
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x340]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xdc]
push ebx
push ecx
push ebp
push edx
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x350]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
add esp, 0x124
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + ebx + 0x8c]
push 0xff
push 0xaa
push 0
sub esp, 0x84
mov edi, esp
push 0x24
push 0x88
mov ecx, 0x21
lea esi, [esp + 0x348]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + ebx + 0x120]
push eax
push ecx
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x2cc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0040c7d0
add esp, 0x124
lea eax, [esp + ebx + 0x148]
push 1
mov edx, eax
mov esi, dword [edx]
mov ebx, dword [edx + 4]
mov edi, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov edx, dword [eax]
push 0x472d28
push 3
push 0xffffff
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0x4f8]
push ecx
call fcn.0040ad60
mov edx, dword [eax + 4]
mov ecx, dword [eax]
add esp, 0x24
mov dword [esp + 0x19c], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x1a4], eax
push 0
push 1
mov eax, edi
sub eax, esi
sub eax, edx
add eax, ecx
push 0x472d28
push 0
cdq
push 0x10101
sub eax, edx
push 0xffffff
sub esp, 0x10
sar eax, 1
add esi, eax
mov ecx, esp
mov dword [ecx], esi
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
sub esp, 0x84
mov dword [ecx + 0xc], ebp
lea edx, [esp + 0x564]
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x254]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0040af50
push 0
push 0x27
push 0x22
lea eax, [esp + 0x838]
push eax
lea ecx, [esp + 0xdc]
push ecx
push 0x5009a0
call fcn.00426a40
mov ebp, dword [esp + 0x118]
add esp, 0xc8
push 0
push 0x27
push 0x22
lea edx, [esp + 0x788]
push edx
lea eax, [esp + 0x2c]
push eax
push 0x5009a0
call fcn.00426a40
mov eax, dword [0x84f488]
cdq
add esp, 0x18
sub eax, edx
mov edx, dword [esp + 0x24]
push 0
push 1
sar eax, 1
sub eax, 2
lea ecx, [esp + 0x784]
push ecx
push eax
push 0x10101
push 0xffffff
lea eax, [esp + edx + 0x120]
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 0x84
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x254]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x574]
push ecx
call fcn.0040af50
mov ecx, dword [esp + 0xc0]
add esp, 0xb0
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
inc ebp
add ebx, 4
add edi, 0xff
add esi, 0x10
lea eax, [ecx + 4]
cmp ebp, eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x48], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], esi
jl 0x42adc3
mov ebp, dword [esp + 0x10]
mov edx, dword [0x4633b4]
mov eax, dword [0x4633b0]
push 0
push 0
sub esp, 0x84
mov edi, esp
push edx
push eax
push 0
mov ecx, 0x21
mov esi, 0x4b7fc0
push 0
mov dword [esp + 0xe8], ebp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b750
mov edx, dword [0x4633b0]
add esp, 0x9c
push 0
push 0
push 0
sub esp, 0x84
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x238]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b4]
push ecx
push edx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
mov esi, 0x4b7fc0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
mov eax, dword [0x4633b4]
mov ecx, dword [0x4633b0]
add esp, 0x124
push eax
push ecx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x4c8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043c590
push eax
call fcn.0043f500
xor ebx, ebx
mov bl, al
add esp, 0x98
test ebx, ebx
je case.0x42b46e.11
cmp ebx, 0xa
je 0x42b3a4
cmp ebx, 0x14
je 0x42b3a4
cmp ebx, 0x1e
je 0x42b3a4
cmp ebx, 0x28
jne 0x42b3c3
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp dword [esp + edx*4 + 0x184], 1
jne case.0x42b46e.11
cmp ebx, 0xffffffff
je 0x42b42e
mov edx, dword [0x4633b0]
push ebx
push 0
push 0
sub esp, 0x84
mov edi, esp
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x550]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x348]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b4]
push ecx
push edx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
mov esi, 0x4b7fc0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413ef0
add esp, 0x1b0
cmp ebx, 0x32
je 0x42b51f
cmp ebx, 0x3c
je 0x42b51f
lea eax, [esp + 0x80]
xor edi, edi
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call fcn.0043f230
add esp, 4
cmp eax, 1
jne case.default.0x42b46e
lea eax, [ebx - 0xa]
cmp eax, 0x46
ja case.default.0x42b46e
movzx ecx, byte [eax + 0x42bd6c]
jmp dword [ecx*4 + 0x42bd5c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jg 0x42b4b5
lea edx, [ecx + 0x14]
cmp eax, edx
jg 0x42b4b5
mov dword [esp + 0x20], 1
mov dword [esp + 0x7c], ecx
xor edi, edi
push edi
call fcn.0043f1f0
mov ebx, 2
add esp, 4
cmp eax, ebx
jne 0x42b613
inc ebp
jmp 0x42b619
mov dword [esp + 0x28], 1
jmp case.0x42b46e.11
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov esi, edx
mov eax, dword [esp + esi*4 + 0x184]
xor edi, edi
cmp eax, 1
jne case.default.0x42b46e
mov ecx, dword [0x8277c0]
push ecx
push edi
push edi
push 6
push 4
push 0x4622d8
call fcn.004397e0
imul esi, esi, 0xff
mov edx, dword [0x8277c0]
push edx
push edi
push edi
push 6
lea eax, [esp + esi + 0x7a5]
push 1
push eax
call fcn.004397e0
add esp, 0x30
jmp case.default.0x42b46e
lea ecx, [esp + 0x80]
push ecx
call fcn.0043f270
mov ecx, 1
add esp, 4
xor edi, edi
cmp eax, ecx
jne 0x42b606
cmp ebx, 0x32
je 0x42b5a9
cmp ebx, 0x3c
jne case.default.0x42b46e
mov eax, dword [esp + 0x44]
sub eax, edi
je 0x42b58f
dec eax
je 0x42b56a
dec eax
jne case.default.0x42b46e
add ebp, 4
mov dword [esp + 0x10], ebp
jmp case.default.0x42b46e
call dword [0x45a2dc]
mov edx, dword [esp + 0x70]
add edx, 0x12c
cmp edx, eax
jae case.default.0x42b46e
mov dword [esp + 0x44], 2
jmp case.default.0x42b46e
mov dword [esp + 0x44], ecx
call dword [0x45a2dc]
add ebp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x10], ebp
jmp case.default.0x42b46e
mov eax, dword [esp + 0x40]
sub eax, edi
je 0x42b5ec
dec eax
je 0x42b5c7
dec eax
jne case.default.0x42b46e
sub ebp, 4
mov dword [esp + 0x10], ebp
jmp case.default.0x42b46e
call dword [0x45a2dc]
mov ecx, dword [esp + 0x6c]
add ecx, 0x12c
cmp ecx, eax
jae case.default.0x42b46e
mov dword [esp + 0x40], 2
jmp case.default.0x42b46e
mov dword [esp + 0x40], ecx
call dword [0x45a2dc]
sub ebp, 4
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], ebp
jmp case.default.0x42b46e
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
jmp case.default.0x42b46e
cmp eax, 1
jne 0x42b61d
dec ebp
mov dword [esp + 0x10], ebp
cmp dword [0x82779c], edi
jne 0x42b6d7
push 0x28
call fcn.0043f5e0
mov esi, dword [0x45a2dc]
add esp, 4
cmp eax, 1
jne 0x42b67e
mov eax, dword [esp + 0x30]
sub eax, edi
je 0x42b669
dec eax
je 0x42b653
dec eax
jne 0x42b682
inc ebp
mov dword [esp + 0x10], ebp
jmp 0x42b682
call esi
mov edx, dword [esp + 0x5c]
add edx, 0x12c
cmp edx, eax
jae 0x42b682
mov dword [esp + 0x30], ebx
jmp 0x42b682
mov dword [esp + 0x30], 1
call esi
inc ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x10], ebp
jmp 0x42b682
mov dword [esp + 0x30], edi
push 0x26
call fcn.0043f5e0
add esp, 4
cmp eax, 1
jne 0x42b6d1
mov eax, dword [esp + 0x34]
sub eax, edi
je 0x42b6bc
dec eax
je 0x42b6a6
dec eax
jne 0x42b6dd
dec ebp
mov dword [esp + 0x10], ebp
jmp 0x42b6dd
call esi
mov ecx, dword [esp + 0x60]
add ecx, 0x12c
cmp ecx, eax
jae 0x42b6dd
mov dword [esp + 0x34], ebx
jmp 0x42b6dd
mov dword [esp + 0x34], 1
call esi
dec ebp
mov dword [esp + 0x60], eax
mov dword [esp + 0x10], ebp
jmp 0x42b6dd
mov dword [esp + 0x34], edi
jmp 0x42b6dd
mov esi, dword [0x45a2dc]
push 0x22
call fcn.0043f5e0
add esp, 4
cmp eax, 1
jne 0x42b730
mov eax, dword [esp + 0x38]
sub eax, edi
je 0x42b719
dec eax
je 0x42b703
dec eax
jne 0x42b734
add ebp, 4
mov dword [esp + 0x10], ebp
jmp 0x42b734
call esi
mov edx, dword [esp + 0x64]
add edx, 0x12c
cmp edx, eax
jae 0x42b734
mov dword [esp + 0x38], ebx
jmp 0x42b734
mov dword [esp + 0x38], 1
call esi
add ebp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x10], ebp
jmp 0x42b734
mov dword [esp + 0x38], edi
push 0x21
call fcn.0043f5e0
add esp, 4
cmp eax, 1
jne 0x42b787
mov eax, dword [esp + 0x3c]
sub eax, edi
je 0x42b770
dec eax
je 0x42b75a
dec eax
jne 0x42b78b
sub ebp, 4
mov dword [esp + 0x10], ebp
jmp 0x42b78b
call esi
mov ecx, dword [esp + 0x68]
add ecx, 0x12c
cmp ecx, eax
jae 0x42b78b
mov dword [esp + 0x3c], ebx
jmp 0x42b78b
mov dword [esp + 0x3c], 1
call esi
sub ebp, 4
mov dword [esp + 0x68], eax
mov dword [esp + 0x10], ebp
jmp 0x42b78b
mov dword [esp + 0x3c], edi
push 0x24
call fcn.0043f5e0
mov esi, 1
add esp, 4
cmp eax, esi
jne 0x42b7a4
xor ebp, ebp
mov dword [esp + 0x10], ebp
push 0x23
call fcn.0043f5e0
add esp, 4
cmp eax, esi
jne 0x42b7bb
mov ebp, 0x1f4
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x28], esi
jne 0x42b85f
mov edx, dword [0x66b038]
add edx, 0xfffffffc
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
lea eax, [esp + 0x74]
push eax
fdivr dword [0x45a3c4]
fstp dword [esp + 0x1c]
call fcn.0043f270
add esp, 4
test eax, eax
jne 0x42b7f7
mov dword [esp + 0x28], edi
jmp 0x42b837
fild dword [esp + 0x78]
fld dword [esp + 0x18]
fmul dword [0x45a3c0]
fild dword [esp + 0x14]
fld st(0)
fadd st(2)
fld st(3)
fcompp
fnstsw ax
test ah, 0x41
jne 0x42b821
fstp st(0)
inc ebp
fstp st(0)
fstp st(0)
jmp 0x42b833
fsub st(1)
fxch st(1)
fxch st(2)
fcompp
fnstsw ax
fstp st(0)
test ah, 5
jp 0x42b837
dec ebp
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x74]
cmp eax, edi
jl 0x42b847
cmp eax, dword [0x4633b0]
jle 0x42b84b
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x78]
cmp eax, edi
jl 0x42b85b
cmp eax, dword [0x4633b4]
jle 0x42b85f
mov dword [esp + 0x28], edi
cmp dword [0x66b038], 4
jle 0x42b950
cmp dword [esp + 0x20], esi
jne 0x42b964
lea ecx, [esp + 0x54]
push ecx
call fcn.0043f270
add esp, 4
test eax, eax
jne 0x42b906
mov edx, dword [0x66b038]
fild dword [esp + 0x7c]
mov eax, dword [esp + 0x58]
add edx, 0xfffffffc
cmp eax, 0x32
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
mov dword [esp + 0x20], edi
fdivr dword [0x45a3c4]
jge 0x42b8bd
mov dword [esp + 0x58], 0x32
jmp 0x42b8cc
cmp eax, 0x1b9
jle 0x42b8cc
mov dword [esp + 0x58], 0x1b9
fild dword [esp + 0x58]
fld st(1)
fmul dword [0x45a3c0]
fld st(0)
fadd st(4)
fld st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x42b8ee
fld st(2)
inc ebp
faddp st(4)
jmp 0x42b8d8
fld st(3)
fsub st(1)
fld st(2)
fcompp
fnstsw ax
test ah, 5
jp 0x42b958
fxch st(3)
dec ebp
fsub st(2)
fxch st(3)
jmp 0x42b8d8
mov eax, dword [esp + 0x54]
cmp eax, edi
jl 0x42b916
cmp eax, dword [0x4633b0]
jle 0x42b91a
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x58]
cmp eax, edi
jl 0x42b92a
cmp eax, dword [0x4633b4]
jle 0x42b92e
mov dword [esp + 0x20], edi
cmp eax, 0x32
mov dword [esp + 0x14], eax
jge 0x42b941
mov dword [esp + 0x14], 0x32
jmp 0x42b950
cmp eax, 0x1b9
jle 0x42b950
mov dword [esp + 0x14], 0x1b9
cmp dword [esp + 0x20], esi
je 0x42b9c0
jmp 0x42b964
fstp st(0)
mov dword [esp + 0x10], ebp
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [0x66b038]
add eax, 0xfffffffc
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fcom dword [0x45a3bc]
fnstsw ax
test ah, 0x41
jp 0x42b985
fstp st(0)
jmp 0x42b9b8
fld dword [0x45a3c4]
fdiv st(1)
fimul dword [esp + 0x10]
fadd dword [0x45a3b8]
call fcn.0043fac0
fstp st(0)
cmp eax, 0x32
mov dword [esp + 0x14], eax
jge 0x42b9b1
mov dword [esp + 0x14], 0x32
jmp 0x42b9c0
cmp eax, 0x1b9
jle 0x42b9c0
mov dword [esp + 0x14], 0x1b9
push 0
push 0x28
push 0x32
sub esp, 0x84
mov edi, esp
push 0x14
mov ecx, 0x21
lea esi, [esp + 0x344]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xa8]
push 0x1e
push ecx
push 0x2fc
sub esp, 0x84
mov ecx, 0x21
mov esi, 0x4b7fc0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
mov eax, dword [esp + 0x170]
add esp, 0x124
cmp eax, ebp
jne 0x42bb1c
lea edx, [esp + 0x80]
push edx
call fcn.0043f340
add esp, 4
cmp eax, 1
je case.0x42b46e.80
push 1
call fcn.00423c90
add esp, 4
test eax, eax
jne 0x42b2c4
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x6f8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x22c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x2b0]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x674]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x77c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x56c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x5f0]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x334]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x4b8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
add esp, 0x84
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc68
ret
mov eax, dword [0x66b038]
add eax, 0xfffffffc
cmp ebp, eax
jle 0x42bb2e
mov ebp, eax
mov dword [esp + 0x10], ebp
test ebp, ebp
jge 0x42bb3a
mov dword [esp + 0x10], 0
mov edx, dword [0x4633b0]
push 0
push 0
push 0
sub esp, 0x84
mov edi, esp
mov ecx, 0x21
lea esi, [esp + 0x680]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b4]
push ecx
push edx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x2cc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
mov eax, dword [0x4633b4]
add esp, 0x124
push 0
push 0
push 0
sub esp, 0x84
mov edi, esp
push eax
mov ecx, 0x21
lea esi, [esp + 0x78c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b0]
push ecx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
lea esi, [esp + 0x350]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
add esp, 0x124
jmp 0x42ad90
mov edx, dword [0x8277c0]
push edx
push 0
push 0
push 6
push 4
push 0x4622da
call fcn.004397e0
mov eax, dword [0x4633b4]
add esp, 0x18
push 0
push 0
push 0
sub esp, 0x84
mov edi, esp
push eax
mov ecx, 0x21
lea esi, [esp + 0x708]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4633b0]
push ecx
push 0
push 0
sub esp, 0x84
mov ecx, 0x21
mov esi, 0x4b7fc0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412f20
mov edx, dword [0x4633b4]
mov eax, dword [0x4633b0]
add esp, 0x124
push 0
push 0
sub esp, 0x84
mov edi, esp
push edx
push eax
push 0
mov ecx, 0x21
mov esi, 0x4b7fc0
push 0
rep movsd dword es:[edi], dword [esi]
call fcn.0043b750
add esp, 0x9c
push 0
call fcn.0043c590
push eax
call fcn.00417b80
sub esp, 0x7c
mov ecx, 0x21
lea esi, [esp + 0x6f8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x22c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x2b0]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x674]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x77c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x56c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x5f0]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x334]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
mov ecx, 0x21
lea esi, [esp + 0x4b8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b9e0
add esp, 0x84
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc68
ret