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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4e404b
mov eax, dword fs:[0]
push eax
sub esp, 0x170
mov eax, dword [0x515854]
xor eax, esp
mov dword [esp + 0x168], eax
push ebx
push esi
push edi
mov eax, dword [0x515854]
xor eax, esp
push eax
lea eax, [esp + 0x180]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
and dword [esp + 0x2c], 0
mov ebx, dword [ebp + 0xc]
mov edi, ecx
test edi, edi
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], edi
je 0x46b160
xor ecx, ecx
lea eax, [esp + 0x124]
mov dword [esp + 0x13c], 7
call fcn.00401870
push dword [esp + 0x30]
and dword [esp + 0x18c], 0
mov eax, dword [ebx]
lea ecx, [esp + 0x10c]
push ecx
mov ecx, ebx
call dword [eax + 0x14]
push 0xffffffffffffffff
push 0
push eax
lea eax, [esp + 0x130]
mov byte [esp + 0x194], 1
call fcn.00401690
lea esi, [esp + 0x108]
mov byte [esp + 0x188], 0
call fcn.00401650
mov edx, 0x4f5780
lea eax, [esp + 0x108]
call fcn.004074b0
mov byte [esp + 0x188], 2
lea eax, [esp + 0x108]
lea ecx, [esp + 0x124]
mov dword [esp + 0x2c], 1
call fcn.00408760
test eax, eax
je 0x46a2d3
cmp byte [ebp + 0x14], 0
mov byte [esp + 0x1b], 0
je 0x46a2d8
mov byte [esp + 0x1b], 1
and dword [esp + 0x188], 0
lea esi, [esp + 0x108]
call fcn.00401650
cmp byte [esp + 0x1b], 0
je 0x46b14c
and dword [esp + 0x34], 0
lea eax, [esp + 0x15c]
push eax
lea eax, [esp + 0x128]
call fcn.00442c8d
pop ecx
push dword [esp + 0x30]
mov byte [esp + 0x18c], 3
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
jmp 0x46ab3d
push dword [esp + 0x20]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
mov esi, eax
push 0x4f5790
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a4c9
push 7
pop esi
xor ecx, ecx
lea eax, [esp + 0x98]
mov dword [esp + 0xb0], esi
call fcn.00401870
xor ecx, ecx
lea eax, [esp + 0x7c]
mov dword [esp + 0x94], esi
call fcn.00401870
mov byte [esp + 0x188], 5
push dword [esp + 0x20]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x40]
jmp 0x46a49d
mov eax, dword [ebx]
lea ecx, [esp + 0x98]
push ecx
push esi
mov ecx, ebx
call dword [eax + 0x48]
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x9c]
call fcn.00442c8d
pop ecx
mov byte [esp + 0x188], 6
cmp dword [esp + 0x78], 0x10
mov eax, dword [esp + 0x64]
jae 0x46a3c6
lea eax, [esp + 0x64]
lea ecx, [esp + 0x7c]
push ecx
mov dword [esp + 0x18], eax
mov eax, dword [ebx]
push esi
mov ecx, ebx
call dword [eax + 0x4c]
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x80]
call fcn.00442c8d
pop ecx
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x194], 7
call fcn.00407760
lea ecx, [esp + 0x108]
call fcn.00407480
cmp dword [esp + 0x78], 0x10
mov eax, dword [esp + 0x64]
jae 0x46a41d
lea eax, [esp + 0x64]
push 0x4f4658
push dword [esp + 0x18]
mov dword [esp + 0x18], eax
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
je 0x46a484
push 0x4f5798
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
je 0x46a484
push 0x4f57a0
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a484
mov eax, dword [esp + 0x10]
cmp byte [eax], 0x23
jne 0x46a471
push eax
call dword [0x4e6400]
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x18]
call fcn.004bca7c
add esp, 0xc
lea ecx, [esp + 0x60]
mov byte [esp + 0x188], 5
call fcn.00407480
mov eax, dword [ebx]
push esi
mov ecx, ebx
call dword [eax + 0x44]
mov esi, eax
test esi, esi
jne 0x46a38d
lea esi, [esp + 0x7c]
call fcn.00401650
lea esi, [esp + 0x98]
mov byte [esp + 0x188], 3
call fcn.00401650
jmp 0x46ab32
push 0x4f57a8
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a8dc
push 0xf
pop esi
push eax
lea ecx, [esp + 0x9c]
mov dword [esp + 0xb4], esi
call fcn.00407c00
push 0
lea ecx, [esp + 0x64]
mov dword [esp + 0x7c], esi
call fcn.00407c00
mov byte [esp + 0x188], 9
push dword [esp + 0x20]
mov eax, dword [ebx]
mov ecx, ebx
mov dword [esp + 0x30], 0xc
mov byte [esp + 0x3c], 0
mov byte [esp + 0x40], 0
mov byte [esp + 0x2c], 0
mov byte [esp + 0x1f], 0
mov byte [esp + 0x2a], 0
mov byte [esp + 0x2b], 0
call dword [eax + 0x40]
jmp 0x46a7c2
push 7
pop esi
xor ecx, ecx
lea eax, [esp + 0xb4]
mov dword [esp + 0xcc], esi
call fcn.00401870
xor ecx, ecx
lea eax, [esp + 0xd0]
mov dword [esp + 0xe8], esi
call fcn.00401870
lea ecx, [esp + 0xb4]
push ecx
push dword [esp + 0x18]
mov byte [esp + 0x190], 0xb
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
mov eax, dword [ebx]
lea ecx, [esp + 0xd0]
push ecx
push dword [esp + 0x18]
mov ecx, ebx
call dword [eax + 0x4c]
lea eax, [esp + 0xec]
push eax
lea eax, [esp + 0xb8]
call fcn.00442c8d
pop ecx
mov byte [esp + 0x188], 0xc
cmp dword [esp + 0x104], 0x10
mov esi, dword [esp + 0xf0]
jae 0x46a5d2
lea esi, [esp + 0xf0]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0xd4]
call fcn.00442c8d
pop ecx
mov byte [esp + 0x188], 0xd
cmp dword [esp + 0x94], 0x10
mov eax, dword [esp + 0x80]
jae 0x46a604
lea eax, [esp + 0x80]
push 0x4f57b0
push esi
mov dword [esp + 0x18], eax
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a622
lea ecx, [esp + 0x98]
jmp 0x46a637
push 0x4f4658
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a64d
lea ecx, [esp + 0x60]
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x84]
push eax
call fcn.00407760
jmp 0x46a782
push 0x4f57b8
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a67a
push 0xa
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x18]
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0x2c], eax
jmp 0x46a782
push 0x4f57c0
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a6a8
push 0x4ed264
push dword [esp + 0x14]
call fcn.004bc7a0
neg eax
sbb al, al
inc al
mov byte [esp + 0x40], al
jmp 0x46a780
push 0x4f57c8
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a6d6
push 0x4ed264
push dword [esp + 0x14]
call fcn.004bc7a0
neg eax
sbb al, al
inc al
mov byte [esp + 0x44], al
jmp 0x46a780
push 0x4f57d4
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a701
push 0x4ed264
push dword [esp + 0x14]
call fcn.004bc7a0
neg eax
sbb al, al
inc al
mov byte [esp + 0x30], al
jmp 0x46a780
push 0x4f57dc
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a72c
push 0x4ed264
push dword [esp + 0x14]
call fcn.004bc7a0
neg eax
sbb al, al
inc al
mov byte [esp + 0x23], al
jmp 0x46a780
push 0x4f57e4
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a757
push 0x4ed264
push dword [esp + 0x14]
call fcn.004bc7a0
neg eax
sbb al, al
inc al
mov byte [esp + 0x2e], al
jmp 0x46a780
push 0x4f57f0
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46a782
push 0x4ed264
push dword [esp + 0x14]
call fcn.004bc7a0
neg eax
sbb al, al
inc al
mov byte [esp + 0x2f], al
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
call fcn.00407480
lea ecx, [esp + 0xec]
call fcn.00407480
lea esi, [esp + 0xd0]
call fcn.00401650
lea esi, [esp + 0xb4]
mov byte [esp + 0x188], 9
call fcn.00401650
push dword [esp + 0x14]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x44]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x46a542
cmp dword [esp + 0x74], 0
je 0x46a8c7
cmp dword [esp + 0xb0], 0x10
mov edi, dword [esp + 0x9c]
jae 0x46a7f1
lea edi, [esp + 0x9c]
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0xd8]
call fcn.0044292f
pop ecx
pop ecx
mov byte [esp + 0x188], 0xe
cmp dword [esp + 0x78], 0x10
mov edi, dword [esp + 0x64]
jae 0x46a81a
lea edi, [esp + 0x64]
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0xbc]
call fcn.0044292f
pop ecx
pop ecx
mov byte [esp + 0x188], 0xf
cmp dword [esp + 0xcc], 8
mov edx, dword [esp + 0xb8]
jae 0x46a84c
lea edx, [esp + 0xb8]
cmp dword [esp + 0xe8], 8
mov eax, dword [esp + 0xd4]
jae 0x46a864
lea eax, [esp + 0xd4]
push dword [esp + 0x28]
mov esi, dword [esp + 0x20]
push dword [esp + 0x40]
mov ecx, esi
push dword [esp + 0x40]
push dword [esp + 0x38]
push eax
call fcn.004688e1
test eax, eax
je 0x46a8ab
cmp byte [esp + 0x1b], 0
je 0x46a891
mov dword [esi + 0x18c], eax
cmp byte [esp + 0x26], 0
je 0x46a89e
mov dword [esi + 0x194], eax
cmp byte [esp + 0x27], 0
je 0x46a8ab
mov dword [esi + 0x190], eax
lea esi, [esp + 0xb4]
call fcn.00401650
lea esi, [esp + 0xd0]
call fcn.00401650
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x60]
call fcn.00407480
lea ecx, [esp + 0x98]
jmp 0x46ab25
push 0x4f57fc
push esi
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46ab32
push 0xf
pop esi
push eax
lea ecx, [esp + 0x64]
mov dword [esp + 0x7c], esi
call fcn.00407c00
push 0
lea ecx, [esp + 0x80]
mov dword [esp + 0x98], esi
call fcn.00407c00
mov byte [esp + 0x188], 0x11
push dword [esp + 0x20]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x40]
jmp 0x46aa58
push 7
pop esi
xor ecx, ecx
lea eax, [esp + 0xec]
mov dword [esp + 0x104], esi
call fcn.00401870
xor ecx, ecx
lea eax, [esp + 0x98]
mov dword [esp + 0xb0], esi
call fcn.00401870
lea ecx, [esp + 0xec]
push ecx
mov byte [esp + 0x18c], 0x13
push dword [esp + 0x14]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
mov eax, dword [ebx]
lea ecx, [esp + 0x98]
push ecx
push dword [esp + 0x14]
mov ecx, ebx
call dword [eax + 0x4c]
mov esi, 0x4ec9f0
lea ecx, [esp + 0xec]
call fcn.00408e20
test al, al
je 0x46a9de
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x9c]
call fcn.00442c8d
pop ecx
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x194], 0x14
call fcn.00407760
lea ecx, [esp + 0x108]
mov byte [esp + 0x188], 0x13
call fcn.00407480
mov esi, 0x4ee014
lea ecx, [esp + 0xec]
call fcn.00408e20
test al, al
je 0x46aa2d
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x9c]
call fcn.00442c8d
pop ecx
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x88]
mov byte [esp + 0x194], 0x15
call fcn.00407760
lea ecx, [esp + 0x108]
call fcn.00407480
lea esi, [esp + 0x98]
call fcn.00401650
lea esi, [esp + 0xec]
mov byte [esp + 0x188], 0x11
call fcn.00401650
push dword [esp + 0x10]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x44]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x46a92f
cmp dword [esp + 0x74], 0
je 0x46ab18
cmp dword [esp + 0x78], 0x10
mov edi, dword [esp + 0x64]
jae 0x46aa7e
lea edi, [esp + 0x64]
lea eax, [esp + 0xd0]
push eax
call fcn.00442c72
pop ecx
mov byte [esp + 0x188], 0x16
cmp dword [esp + 0x94], 0x10
mov edi, dword [esp + 0x80]
jae 0x46aaac
lea edi, [esp + 0x80]
lea eax, [esp + 0xb4]
push eax
call fcn.00442c72
pop ecx
mov byte [esp + 0x188], 0x17
cmp dword [esp + 0xcc], 8
mov eax, dword [esp + 0xb8]
jae 0x46aada
lea eax, [esp + 0xb8]
cmp dword [esp + 0xe8], 8
mov ecx, dword [esp + 0xd4]
jae 0x46aaf2
lea ecx, [esp + 0xd4]
push eax
push dword [esp + 0x20]
call fcn.00465747
lea esi, [esp + 0xb4]
call fcn.00401650
lea esi, [esp + 0xd0]
call fcn.00401650
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x7c]
call fcn.00407480
lea ecx, [esp + 0x60]
mov byte [esp + 0x188], 3
call fcn.00407480
push dword [esp + 0x20]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
test eax, eax
mov dword [esp + 0x20], eax
jne 0x46a329
cmp dword [edi + 0x178], 0
je 0x46b140
push dword [esp + 0x30]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x40]
jmp 0x46b134
push 7
pop esi
xor ecx, ecx
lea eax, [esp + 0x108]
mov dword [esp + 0x120], esi
call fcn.00401870
xor ecx, ecx
lea eax, [esp + 0x140]
mov dword [esp + 0x158], esi
call fcn.00401870
lea ecx, [esp + 0x108]
push ecx
push dword [esp + 0x2c]
mov byte [esp + 0x190], 0x19
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
mov eax, dword [ebx]
lea ecx, [esp + 0x140]
push ecx
push dword [esp + 0x2c]
mov ecx, ebx
call dword [eax + 0x4c]
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x10c]
call fcn.00442c8d
pop ecx
mov byte [esp + 0x188], 0x1a
cmp dword [esp + 0xe8], 0x10
mov eax, dword [esp + 0xd4]
jae 0x46abf6
lea eax, [esp + 0xd4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x144]
call fcn.00442c8d
pop ecx
mov byte [esp + 0x188], 0x1b
cmp dword [esp + 0xcc], 0x10
mov esi, dword [esp + 0xb8]
jae 0x46ac2f
lea esi, [esp + 0xb8]
push 0x4f57b8
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46ac7f
and dword [esp + 0x10], eax
push 0xa
lea eax, [esp + 0x14]
push eax
push esi
call fcn.004bca53
add esp, 0xc
mov esi, eax
push 0xa
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [edi + 0x114], esi
mov dword [edi + 0x118], eax
jmp 0x46b0f1
push 0x4f5804
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46ad26
and dword [esp + 0x10], 0
lea edi, [esp + 0xf0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0xa
stosd dword es:[edi], eax
pop edi
push edi
lea eax, [esp + 0x14]
push eax
push esi
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0xec], eax
push edi
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0xf0], eax
push edi
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0xf4], eax
push edi
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
mov edi, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0xf8], eax
add edi, 0x154
lea esi, [esp + 0xec]
jmp 0x46b0e9
push 0x4f580c
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46ad76
and dword [esp + 0x10], eax
push 0xa
lea eax, [esp + 0x14]
push eax
push esi
call fcn.004bca53
add esp, 0xc
mov esi, eax
push 0xa
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [edi + 0x12c], esi
mov dword [edi + 0x130], eax
jmp 0x46b0f1
push 0x4f5818
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46adc0
lea eax, [esp + 0x44]
push eax
mov edi, esi
call fcn.00442c72
pop ecx
push 0xffffffffffffffff
push 0
push eax
mov eax, dword [esp + 0x28]
add eax, 0x134
mov byte [esp + 0x194], 0x1c
call fcn.00401690
lea esi, [esp + 0x44]
call fcn.00401650
jmp 0x46b0ed
push 0x4f582c
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46ae8b
and dword [esp + 0x10], 0
lea edi, [esp + 0x9c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0xa
stosd dword es:[edi], eax
pop edi
push edi
lea eax, [esp + 0x14]
push eax
push esi
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0x98], eax
push edi
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0x9c], eax
push edi
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0xa0], eax
push edi
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0xa4], eax
push edi
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
add esp, 0xc
add edi, 0x164
lea esi, [esp + 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ecx + 0x174], eax
mov edi, ecx
jmp 0x46b0f1
push 0x4f5834
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46aedb
and dword [esp + 0x10], eax
push 0xa
lea eax, [esp + 0x14]
push eax
push esi
call fcn.004bca53
add esp, 0xc
mov esi, eax
push 0xa
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [edi + 0x11c], esi
mov dword [edi + 0x120], eax
jmp 0x46b0f1
push 0x4f583c
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46af2b
and dword [esp + 0x10], eax
push 0xa
lea eax, [esp + 0x14]
push eax
push esi
call fcn.004bca53
add esp, 0xc
mov esi, eax
push 0xa
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [edi + 0x124], esi
mov dword [edi + 0x128], eax
jmp 0x46b0f1
push 0x4f5844
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46af5a
push 0x4ed264
push esi
call fcn.004bc7a0
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [edi + 0x32], al
jmp 0x46b0f1
push 0x4f5854
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46af86
push 0xa
lea eax, [esp + 0x38]
push eax
push esi
call fcn.004bca53
add esp, 0xc
mov dword [edi + 0x34], eax
jmp 0x46b0f1
push 0x4f5868
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46afb8
push 0x4ed264
push esi
call fcn.004bc7a0
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [edi + 0x1b0], al
jmp 0x46b0f1
push 0x4f5874
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46b059
and dword [esp + 0x10], 0
lea edi, [esp + 0x80]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0xa
stosd dword es:[edi], eax
pop edi
push edi
lea eax, [esp + 0x14]
push eax
push esi
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0x7c], eax
push edi
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0x80], eax
push edi
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0x84], eax
push edi
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
inc eax
push eax
call fcn.004bca53
mov edi, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x88], eax
add edi, 0x1b4
lea esi, [esp + 0x7c]
jmp 0x46b0e9
push 0x4f5880
push dword [esp + 0x18]
call fcn.004bc7a0
test eax, eax
pop ecx
pop ecx
jne 0x46b0f1
and dword [esp + 0x20], 0
lea edi, [esp + 0x64]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0xa
stosd dword es:[edi], eax
pop edi
push edi
lea eax, [esp + 0x24]
push eax
push esi
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0x60], eax
push edi
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x28]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0x64], eax
push edi
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x28]
inc eax
push eax
call fcn.004bca53
add esp, 0xc
mov dword [esp + 0x68], eax
push edi
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x28]
inc eax
push eax
call fcn.004bca53
mov edi, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x6c], eax
add edi, 0x1c4
lea esi, [esp + 0x60]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0xb4]
call fcn.00407480
lea ecx, [esp + 0xd0]
call fcn.00407480
lea esi, [esp + 0x140]
call fcn.00401650
lea esi, [esp + 0x108]
mov byte [esp + 0x188], 3
call fcn.00401650
push dword [esp + 0x28]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x44]
test eax, eax
mov dword [esp + 0x28], eax
jne 0x46ab66
lea ecx, [esp + 0x15c]
call fcn.00407480
or dword [esp + 0x188], 0xffffffff
lea esi, [esp + 0x124]
call fcn.00401650
mov ecx, dword [esp + 0x40]
push edi
push 0
push dword [esp + 0x38]
push ebx
call fcn.0046b774
mov ecx, dword [esp + 0x180]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x168]
xor ecx, esp
call fcn.004b6e9f
mov esp, ebp
pop ebp
ret 0x10