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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x48
push 0
push 0
dec ecx
jne 0x5114ed
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov edi, edx
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x1e8]
mov edx, dword [0x50da88]
call fcn.004052e4
lea esi, [ebp - 0x14]
xor eax, eax
push ebp
push 0x512b63
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x18
call fcn.00407e48
lea eax, [ebp - 0x1e8]
xor ecx, ecx
mov edx, 0x188
call fcn.00407e48
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0x18
call fcn.00407e48
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax], edx
xor edx, edx
push ebp
push 0x512b02
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x44], edi
cmp byte [ebp + 0x10], 0
je 0x51158a
mov eax, edi
call fcn.0041e65c
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x511598
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
lea edx, [ebp - 0x10]
mov ecx, 8
mov eax, edi
mov edi, dword [eax]
call dword [edi + 8]
mov ax, word [ebp - 0x10]
cmp ax, 0x4949
je 0x5115ca
cmp ax, 0x4d4d
je 0x5115ca
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
call fcn.004042e4
jmp 0x512b0c
cmp word [ebp - 0x10], 0x4949
sete al
mov byte [ebp - 0x48], al
mov byte [ebp - 0x74], al
test al, al
jne 0x5115e8
mov eax, dword [ebp - 0xc]
call fcn.00591d74
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x40], eax
mov edi, dword [ebp - 0xc]
mov eax, edi
test eax, eax
jne 0x511600
call fcn.004042e4
jmp 0x512b0c
cmp dword [ebp + 0x20], 0
je 0x511610
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x34]
mov dword [esi], eax
jmp 0x511616
mov dword [esi], 0xffffffff
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x48]
mov edx, edi
mov eax, dword [esi]
call fcn.005112d0
test al, al
jne 0x511634
call fcn.004042e4
jmp 0x512b0c
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x8769
call fcn.0050db2c
test eax, eax
jle 0x511678
mov dl, byte [ebp - 0x48]
mov byte [ebp - 0x60], dl
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
push esi
lea ecx, [ebp - 0x60]
mov edx, eax
xor eax, eax
call fcn.005112d0
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x168], 1
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, pe_nt_image_headers32
call fcn.0050db2c
mov dword [ebp - 0x1e8], eax
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x101
call fcn.0050db2c
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x48]
mov ecx, 1
mov edx, 0x115
call fcn.0050db2c
mov dword [ebp - 0x1e0], eax
lea edx, [ebp - 0x1e8]
lea eax, [ebp - 0x48]
call fcn.0050e794
test al, al
jne 0x5116df
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
call fcn.004042e4
jmp 0x512b0c
lea eax, [ebp - 0x48]
mov ecx, dword [ebp - 0x1e4]
mov edx, 0x116
call fcn.0050db2c
mov edi, eax
mov dword [ebp - 0x1d8], edi
inc edi
jne 0x511709
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0x48]
or ecx, 0xffffffff
mov edx, 0x142
call fcn.0050db2c
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x48]
or ecx, 0xffffffff
mov edx, 0x143
call fcn.0050db2c
mov dword [ebp - 0x1d0], eax
lea eax, [ebp - 0x48]
mov ecx, 2
mov edx, 0x106
call fcn.0050db2c
mov word [ebp - 0x1cc], ax
lea eax, [ebp - 0x48]
mov ecx, 1
mov edx, 0x11c
call fcn.0050db2c
mov word [ebp - 0x1ca], ax
lea eax, [ebp - 0x48]
mov ecx, 1
mov edx, 0x112
call fcn.0050db2c
mov word [ebp - 0x1c8], ax
lea eax, [ebp - 0x48]
mov ecx, 1
mov edx, 0x103
call fcn.0050db2c
mov word [ebp - 0x1c6], ax
lea eax, [ebp - 0x48]
mov ecx, 1
mov edx, 0x13d
call fcn.0050db2c
mov dword [ebp - 0x180], eax
lea eax, [ebp - 0x48]
mov ecx, 2
mov edx, 0x128
call fcn.0050db2c
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x48]
mov edx, 0x11a
call fcn.0050dbb4
fstp qword [ebp - 0x190]
wait
lea eax, [ebp - 0x48]
mov edx, 0x11b
call fcn.0050dbb4
fstp qword [ebp - 0x188]
wait
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x124
call fcn.0050db2c
mov dword [ebp - 0x174], eax
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x125
call fcn.0050db2c
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x48]
mov ecx, 1
mov edx, 0x10a
call fcn.0050db2c
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x48]
mov edx, 0x11e
call fcn.0050dbb4
fstp qword [ebp - 0x168]
wait
lea eax, [ebp - 0x48]
mov edx, 0x11f
call fcn.0050dbb4
fstp qword [ebp - 0x160]
wait
lea ecx, [ebp - 0x1ec]
lea eax, [ebp - 0x48]
mov edx, 0x10d
call fcn.0050e418
mov edx, dword [ebp - 0x1ec]
lea eax, [ebp - 0x158]
call fcn.004048f4
lea ecx, [ebp - 0x1f0]
lea eax, [ebp - 0x48]
mov edx, 0x10e
call fcn.0050e418
mov edx, dword [ebp - 0x1f0]
lea eax, [ebp - 0x154]
call fcn.004048f4
lea ecx, [ebp - 0x1f4]
lea eax, [ebp - 0x48]
mov edx, 0x11d
call fcn.0050e418
mov edx, dword [ebp - 0x1f4]
lea eax, [ebp - 0x150]
call fcn.004048f4
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x129
call fcn.0050dd04
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x48]
mov ecx, 1
mov edx, 0x129
call fcn.0050dd04
mov dword [ebp - 0x148], eax
lea ecx, [ebp - 0x1f8]
lea eax, [ebp - 0x48]
mov edx, 0x131
call fcn.0050e418
mov edx, dword [ebp - 0x1f8]
lea eax, [ebp - 0x144]
call fcn.004048f4
lea ecx, [ebp - 0x1fc]
lea eax, [ebp - 0x48]
mov edx, 0x13b
call fcn.0050e418
mov edx, dword [ebp - 0x1fc]
lea eax, [ebp - 0x118]
call fcn.004048f4
lea eax, [ebp - 0x48]
mov ecx, 1
mov edx, 0x14c
call fcn.0050db2c
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0x48]
mov ecx, 4
mov edx, 0x14e
call fcn.0050db2c
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x200
call fcn.0050db2c
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x201
call fcn.0050db2c
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x202
call fcn.0050db2c
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x203
call fcn.0050db2c
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x1e0]
dec eax
test eax, eax
jl 0x511a3e
inc eax
mov dword [ebp - 0x2c], eax
mov dword [esi], 0
lea edi, [ebp - 0x104]
lea eax, [ebp - 0x48]
mov ecx, dword [esi]
mov edx, 0x205
call fcn.0050dd04
mov dword [edi], eax
lea eax, [ebp - 0x48]
mov ecx, dword [esi]
mov edx, 0x206
call fcn.0050dd04
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x48]
mov ecx, dword [esi]
mov edx, 0x207
call fcn.0050dd04
mov dword [edi + 0x38], eax
lea eax, [ebp - 0x48]
mov ecx, dword [esi]
mov edx, 0x208
call fcn.0050dd04
mov dword [edi + 0x54], eax
lea eax, [ebp - 0x48]
mov ecx, dword [esi]
mov edx, 0x209
call fcn.0050dd04
mov dword [edi + 0x70], eax
inc dword [esi]
add edi, 4
dec dword [ebp - 0x2c]
jne 0x5119db
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x152
call fcn.0050db2c
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [esi], eax
lea edi, [ebp - 0x138]
lea eax, [ebp - 0x48]
mov ecx, dword [esi]
mov edx, 0x150
call fcn.0050dd04
mov dword [edi], eax
inc dword [esi]
add edi, 4
cmp dword [esi], 8
jne 0x511a5a
lea edx, [ebp - 0x1c4]
lea eax, [ebp - 0x48]
mov ecx, 0x111
call fcn.0050df54
mov dword [ebp - 0x1c0], eax
lea edx, [ebp - 0x1bc]
lea eax, [ebp - 0x48]
mov ecx, 0x117
call fcn.0050df54
mov dword [ebp - 0x1b8], eax
lea edx, [ebp - 0x1b4]
lea eax, [ebp - 0x48]
mov ecx, 0x144
call fcn.0050df54
mov dword [ebp - 0x1b0], eax
lea edx, [ebp - 0x1ac]
lea eax, [ebp - 0x48]
mov ecx, 0x145
call fcn.0050df54
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1e0], 1
jne 0x511b12
cmp dword [ebp - 0x1dc], 1
jne 0x511b12
cmp word [ebp - 0x1c6], 0
jbe 0x511b12
cmp word [ebp - 0x1c6], 5
jae 0x511b12
cmp word [ebp - 0x1cc], 2
jne 0x511b12
mov word [ebp - 0x1cc], 0
lea ecx, [ebp - 0x178]
lea eax, [ebp - 0x48]
mov edx, 0x15b
call fcn.0050dfe8
mov dword [ebp - 0x17c], eax
lea edx, [ebp - 0x1e8]
lea eax, [ebp - 0x48]
call fcn.0050e564
lea edx, [ebp - 0x1e8]
lea eax, [ebp - 0x48]
call fcn.0050e6d4
lea edx, [ebp - 0x1e8]
lea eax, [ebp - 0x48]
mov ecx, dword [ebp + 0x20]
call fcn.0051114c
lea edx, [ebp - 0x1e8]
lea eax, [ebp - 0x48]
mov ecx, dword [ebp + 0x20]
call fcn.005111f8
lea eax, [ebp - 0x48]
mov edx, dword [ebp + 0x20]
call fcn.0050e310
lea eax, [ebp - 0x48]
mov edx, dword [ebp + 0x20]
call fcn.0050e390
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x1dc]
mov dword [eax + 8], edx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x1e0]
mov dword [eax + 0x10], edx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x1e8]
mov dword [eax + 0x14], edx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x1e4]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov eax, dword [ebp + 0x20]
call fcn.0057b264
movzx edx, word [ebp - 0x1c8]
mov eax, dword [ebp + 0x20]
call fcn.0057b284
movzx eax, word [ebp - 0x1c6]
cmp eax, 5
jg 0x511be7
je 0x511c2e
dec eax
je 0x511bf8
dec eax
je 0x511c01
dec eax
je 0x511c0a
dec eax
je 0x511c25
jmp 0x511c52
sub eax, 6
je 0x511c37
dec eax
je 0x511c40
sub eax, 0x7ffe
je 0x511c49
jmp 0x511c52
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x31], 0
jmp 0x511c59
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x31], 1
jmp 0x511c59
test byte [ebp - 0x174], 1
jne 0x511c1c
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x31], 2
jmp 0x511c59
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x31], 3
jmp 0x511c59
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x31], 4
jmp 0x511c59
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x31], 5
jmp 0x511c59
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x31], 6
jmp 0x511c59
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x31], 7
jmp 0x511c59
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x31], 8
jmp 0x511c59
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x31], 9
movzx eax, word [ebp - 0x1cc]
cmp eax, 8
ja case.0x511c65.7
jmp dword [eax*4 + 0x511c6c]
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x38], 0
jmp case.0x511c65.7
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x38], 1
jmp case.0x511c65.7
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x38], 2
jmp case.0x511c65.7
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x38], 3
jmp case.0x511c65.7
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x38], 4
jmp case.0x511c65.7
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x38], 5
jmp case.0x511c65.7
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x38], 6
jmp case.0x511c65.7
mov eax, dword [ebp + 0x20]
mov byte [eax + 0x38], 7
movzx eax, word [ebp - 0x1ca]
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp + 0x20]
add eax, 0x48
mov edx, dword [ebp - 0x158]
call fcn.004048b0
mov eax, dword [ebp + 0x20]
add eax, 0x4c
mov edx, dword [ebp - 0x154]
call fcn.004048b0
mov eax, dword [ebp + 0x20]
add eax, 0x50
mov edx, dword [ebp - 0x150]
call fcn.004048b0
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x14c]
mov dword [eax + 0x54], edx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x148]
mov dword [eax + 0x58], edx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x16c]
mov dword [eax + 0x78], edx
lea ecx, [ebp - 0x200]
lea eax, [ebp - 0x48]
mov edx, 0x10f
call fcn.0050e418
mov edx, dword [ebp - 0x200]
mov eax, dword [ebp + 0x20]
add eax, 0x174
call fcn.004048b0
lea ecx, [ebp - 0x204]
lea eax, [ebp - 0x48]
mov edx, 0x110
call fcn.0050e418
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp + 0x20]
add eax, 0x178
call fcn.004048b0
lea ecx, [ebp - 0x208]
lea eax, [ebp - 0x48]
mov edx, 0x132
call fcn.0050e418
mov edx, dword [ebp - 0x208]
mov eax, dword [ebp + 0x20]
add eax, 0x19c
call fcn.004048b0
movzx edx, word [ebp - 0x1c8]
mov eax, dword [ebp + 0x20]
call fcn.0057b290
push dword [ebp - 0x18c]
push dword [ebp - 0x190]
mov eax, dword [ebp + 0x20]
call fcn.0057b29c
push dword [ebp - 0x184]
push dword [ebp - 0x188]
mov eax, dword [ebp + 0x20]
call fcn.0057b2b8
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x194]
mov dword [eax + 0x190], edx
mov eax, dword [ebp + 0x20]
add eax, 0x194
mov edx, dword [ebp - 0x144]
call fcn.004048b0
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x48]
mov edx, 0x9c9b
call fcn.0050e48c
mov edx, dword [ebp - 0x20c]
mov eax, dword [ebp + 0x20]
add eax, 0x308
call fcn.00404fbc
lea ecx, [ebp - 0x210]
lea eax, [ebp - 0x48]
mov edx, 0x9c9c
call fcn.0050e48c
mov edx, dword [ebp - 0x210]
mov eax, dword [ebp + 0x20]
add eax, 0x30c
call fcn.00404fbc
lea ecx, [ebp - 0x214]
lea eax, [ebp - 0x48]
mov edx, 0x9c9d
call fcn.0050e48c
mov edx, dword [ebp - 0x214]
mov eax, dword [ebp + 0x20]
add eax, 0x310
call fcn.00404fbc
lea ecx, [ebp - 0x218]
lea eax, [ebp - 0x48]
mov edx, 0x9c9e
call fcn.0050e48c
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp + 0x20]
add eax, 0x314
call fcn.00404fbc
lea ecx, [ebp - 0x21c]
lea eax, [ebp - 0x48]
mov edx, 0x9c9f
call fcn.0050e48c
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp + 0x20]
add eax, 0x318
call fcn.00404fbc
mov eax, dword [ebp + 0x20]
add eax, 0x198
mov edx, dword [ebp - 0x118]
call fcn.004048b0
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x13e
call fcn.0050dc50
add esp, 0xfffffff8
fstp qword [esp]
wait
xor edx, edx
mov eax, dword [ebp + 0x20]
call fcn.0057b114
lea eax, [ebp - 0x48]
mov ecx, 1
mov edx, 0x13e
call fcn.0050dc50
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, 1
mov eax, dword [ebp + 0x20]
call fcn.0057b114
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x213
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x1f8], eax
xor eax, eax
mov dword [esi], eax
lea eax, [ebp - 0x48]
mov ecx, dword [esi]
mov edx, 0x13f
call fcn.0050dc50
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, dword [esi]
mov eax, dword [ebp + 0x20]
call fcn.0057b150
inc dword [esi]
cmp dword [esi], 6
jne 0x511f38
xor eax, eax
mov dword [esi], eax
lea eax, [ebp - 0x48]
mov ecx, dword [esi]
mov edx, 0x211
call fcn.0050dc50
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, dword [esi]
mov eax, dword [ebp + 0x20]
call fcn.0057b18c
inc dword [esi]
cmp dword [esi], 3
jne 0x511f63
xor eax, eax
mov dword [esi], eax
lea eax, [ebp - 0x48]
mov ecx, dword [esi]
mov edx, 0x214
call fcn.0050dc50
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, dword [esi]
mov eax, dword [ebp + 0x20]
call fcn.0057b0d8
inc dword [esi]
cmp dword [esi], 6
jne 0x511f8e
lea ecx, [ebp - 0x220]
lea eax, [ebp - 0x48]
mov edx, 0x8298
call fcn.0050e418
mov edx, dword [ebp - 0x220]
mov eax, dword [ebp + 0x20]
add eax, 0x230
call fcn.004048b0
lea eax, [ebp - 0x60]
mov edx, 0x829a
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x238]
wait
lea eax, [ebp - 0x60]
mov edx, 0x829d
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x240]
wait
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0x8822
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x248], eax
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0x8827
call fcn.0050dd04
mov ecx, eax
xor edx, edx
mov eax, dword [ebp + 0x20]
call fcn.0057b0c8
lea eax, [ebp - 0x60]
mov ecx, 1
mov edx, 0x8827
call fcn.0050dd04
mov ecx, eax
mov edx, 1
mov eax, dword [ebp + 0x20]
call fcn.0057b0c8
lea ecx, [ebp - 0x224]
lea eax, [ebp - 0x60]
mov edx, 0x9000
call fcn.0050e504
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp + 0x20]
add eax, 0x254
call fcn.004048b0
cmp byte [ebp - 0x48], 0
jne 0x5120f2
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x254]
call fcn.00404b14
cmp eax, 4
jne 0x5120f2
lea eax, [ebp - 0x28]
mov edx, dword [ebp + 0x20]
mov edx, dword [edx + 0x254]
call fcn.004048f4
lea eax, [ebp - 0x28]
call fcn.00404d64
push eax
lea eax, [ebp - 0x28]
call fcn.00404d64
add eax, 3
pop edx
call fcn.0055f3c4
lea eax, [ebp - 0x28]
call fcn.00404d64
add eax, 2
push eax
lea eax, [ebp - 0x28]
call fcn.00404d64
inc eax
pop edx
call fcn.0055f3c4
mov eax, dword [ebp + 0x20]
add eax, 0x254
mov edx, dword [ebp - 0x28]
call fcn.004048b0
lea ecx, [ebp - 0x228]
lea eax, [ebp - 0x60]
mov edx, 0x9003
call fcn.0050e418
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp + 0x20]
add eax, 0x258
call fcn.004048b0
lea ecx, [ebp - 0x22c]
lea eax, [ebp - 0x60]
mov edx, 0x9004
call fcn.0050e418
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp + 0x20]
add eax, 0x25c
call fcn.004048b0
lea eax, [ebp - 0x60]
mov edx, 0x9102
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x260]
wait
lea eax, [ebp - 0x60]
mov edx, 0x9201
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x268]
wait
lea eax, [ebp - 0x60]
mov edx, 0x9202
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x270]
wait
lea eax, [ebp - 0x60]
mov edx, 0x9203
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x278]
wait
lea eax, [ebp - 0x60]
mov edx, 0x9204
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x280]
wait
lea eax, [ebp - 0x60]
mov edx, 0x9205
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x288]
wait
lea eax, [ebp - 0x60]
mov edx, 0x9206
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x290]
wait
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0x9207
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x298], eax
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0x9208
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x29c], eax
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0x9209
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x2a0], eax
lea eax, [ebp - 0x60]
mov edx, 0x920a
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x2a8]
wait
lea ecx, [ebp - 0x230]
lea eax, [ebp - 0x60]
mov edx, 0x9290
call fcn.0050e418
mov edx, dword [ebp - 0x230]
mov eax, dword [ebp + 0x20]
add eax, 0x2b0
call fcn.004048b0
lea ecx, [ebp - 0x234]
lea eax, [ebp - 0x60]
mov edx, 0x9291
call fcn.0050e418
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp + 0x20]
add eax, 0x2b4
call fcn.004048b0
lea ecx, [ebp - 0x238]
lea eax, [ebp - 0x60]
mov edx, 0x9292
call fcn.0050e418
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp + 0x20]
add eax, 0x2b8
call fcn.004048b0
lea ecx, [ebp - 0x23c]
lea eax, [ebp - 0x60]
mov edx, 0xa000
call fcn.0050e504
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp + 0x20]
add eax, 0x2bc
call fcn.004048b0
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0xa001
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x2c0], eax
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0xa002
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x2c4], eax
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0xa003
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x2c8], eax
lea ecx, [ebp - 0x240]
lea eax, [ebp - 0x60]
mov edx, 0xa004
call fcn.0050e418
mov edx, dword [ebp - 0x240]
mov eax, dword [ebp + 0x20]
add eax, 0x2cc
call fcn.004048b0
lea eax, [ebp - 0x60]
mov edx, 0xa20e
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x2d0]
wait
lea eax, [ebp - 0x60]
mov edx, 0xa20f
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x2d8]
wait
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0xa210
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x2e0], eax
lea eax, [ebp - 0x60]
mov edx, 0xa215
call fcn.0050dbb4
mov eax, dword [ebp + 0x20]
fstp qword [eax + 0x2e8]
wait
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0xa217
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x2f0], eax
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0xa300
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x2f4], eax
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0xa301
call fcn.0050db2c
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x2f8], eax
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x60]
mov edx, 0x9286
call fcn.0050e418
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp + 0x20]
add eax, 0x300
call fcn.004048b0
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x300]
call fcn.00404b14
test eax, eax
jle 0x512470
mov eax, dword [ebp + 0x20]
add eax, 0x2fc
push eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x300]
call fcn.00404b14
mov ecx, eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x300]
mov edx, 9
call fcn.00404d6c
mov eax, dword [ebp + 0x20]
add eax, 0x300
push eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x300]
mov ecx, 8
mov edx, 1
call fcn.00404d6c
jmp 0x51247d
mov eax, dword [ebp + 0x20]
add eax, 0x2fc
call fcn.0040485c
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 0x304]
lea eax, [ebp - 0x60]
mov edx, 0x927c
call fcn.0050e05c
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x36c]
test eax, eax
je 0x5124bb
call fcn.004027cc
mov eax, dword [ebp + 0x20]
xor edx, edx
mov dword [eax + 0x36c], edx
mov eax, dword [ebp + 0x20]
xor edx, edx
mov dword [eax + 0x370], edx
mov eax, dword [ebp - 0x1a0]
test eax, eax
jle 0x5124fd
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x370], eax
mov eax, dword [ebp - 0x1a0]
lea eax, [eax + eax*2]
call fcn.004027ac
mov edi, eax
mov eax, dword [ebp + 0x20]
mov dword [eax + 0x36c], edi
mov ecx, dword [ebp - 0x1a0]
lea ecx, [ecx + ecx*2]
mov eax, edi
mov edx, dword [ebp - 0x1a4]
call fcn.00407e40
cmp dword [ebp - 0x194], 3
jne 0x512516
mov dword [ebp - 0x20], 0x851eb852
mov dword [ebp - 0x1c], 0x400451eb
jmp 0x512522
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0x3ff00000
fld qword [ebp - 0x190]
fmul qword [ebp - 0x20]
call fcn.00402ccc
mov edx, eax
mov eax, dword [ebp + 0x20]
call fcn.0057b1e4
fld qword [ebp - 0x188]
fmul qword [ebp - 0x20]
call fcn.00402ccc
mov edx, eax
mov eax, dword [ebp + 0x20]
call fcn.0057b214
mov eax, dword [ebp + 0x20]
cmp dword [eax + 0x1c], 0
jne 0x51256b
mov edx, dword [0x64f0f8]
mov edx, dword [edx]
mov eax, dword [ebp + 0x20]
call fcn.0057b1e4
mov eax, dword [ebp + 0x20]
cmp dword [eax + 0x20], 0
jne 0x512584
mov edx, dword [0x64f05c]
mov edx, dword [edx]
mov eax, dword [ebp + 0x20]
call fcn.0057b214
fld qword [ebp - 0x168]
fmul qword [ebp - 0x20]
call fcn.00402ccc
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x40], eax
fld qword [ebp - 0x160]
fmul qword [ebp - 0x20]
call fcn.00402ccc
mov edx, dword [ebp + 0x20]
mov dword [edx + 0x44], eax
mov eax, dword [ebp + 0x20]
cmp dword [eax + 0x14], 0
je 0x5125be
mov eax, dword [ebp + 0x20]
cmp dword [eax + 0x18], 0
jne 0x5125d5
test bl, bl
jne 0x5125d5
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
call fcn.004042e4
jmp 0x512b0c
cmp word [ebp - 0x1c6], 5
jne 0x51261c
mov eax, dword [ebp + 0x20]
cmp dword [eax + 0x60], 0
je 0x5125f3
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x78], eax
jmp 0x51261c
mov eax, dword [0x64eb70]
cmp dword [eax], 0
je 0x512609
mov eax, dword [0x64eb70]
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
jmp 0x51261c
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
call fcn.004042e4
jmp 0x512b0c
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x68], al
cmp byte [ebp + 0x18], 0
jne 0x512a28
cmp byte [ebp + 0xc], 0
jne 0x5126ae
cmp dword [ebp - 0x1e0], 4
jne 0x512641
cmp dword [ebp - 0x64], 2
je 0x512666
cmp dword [ebp - 0x1e0], 2
jne 0x512653
cmp dword [ebp - 0x1dc], 8
je 0x512666
cmp dword [ebp - 0x1e0], 4
jne 0x51267f
cmp word [ebp - 0x1cc], 2
jne 0x51267f
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x51267f
mov dl, 1
mov eax, dword [0x590f78]
call fcn.00593820
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x5126ae
push 8
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
call fcn.00593bec
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov edx, 0xff
call fcn.0059542c
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 4]
mov al, byte [eax + 4]
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 4]
mov dl, byte [0x512b74]
mov byte [eax + 4], dl
cmp dword [ebp - 0x1e8], 0x190
jg 0x5126e3
cmp dword [ebp - 0x1e4], 0x190
jle 0x5126fa
test bl, bl
je 0x5126fa
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
call fcn.004042e4
jmp 0x512b0c
cmp word [ebp - 0x1c6], 6
je 0x51270d
cmp dword [ebp - 0x110], 0
je 0x512730
cmp dword [ebp - 0x114], 2
jge 0x512730
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 4]
lea edx, [ebp - 0x1e8]
lea eax, [ebp - 0x48]
call fcn.00511058
jmp 0x512a07
cmp dword [ebp - 0x1e8], 0
je 0x512742
cmp dword [ebp - 0x1e4], 0
jne 0x512755
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
call fcn.004042e4
jmp 0x512b0c
cmp dword [ebp - 0x1dc], 1
jne 0x51278c
cmp dword [ebp - 0x1e0], 1
jne 0x51278c
cmp word [ebp - 0x1cc], 3
je 0x51278c
push 1
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x24]
jmp 0x512955
mov eax, dword [ebp + 0x20]
cmp byte [eax + 0x369], 0
je 0x51293f
cmp dword [ebp - 0x1dc], 8
jne 0x51281a
cmp dword [ebp - 0x1e0], 1
jne 0x51281a
cmp word [ebp - 0x1cc], 3
jne 0x51281a
push 2
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x24]
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x370]
dec eax
test eax, eax
jl 0x512955
inc eax
mov dword [ebp - 0x2c], eax
mov dword [esi], 0
mov eax, dword [esi]
lea eax, [eax + eax*2]
mov edx, dword [ebp + 0x20]
mov edx, dword [edx + 0x36c]
mov cl, byte [edx + eax + 2]
shl ecx, 0x10
mov cx, word [edx + eax]
push ecx
mov edx, dword [esi]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
inc dword [esi]
dec dword [ebp - 0x2c]
jne 0x5127ea
jmp 0x512955
cmp dword [ebp - 0x1dc], 8
jne 0x512851
cmp dword [ebp - 0x1e0], 1
jne 0x512851
cmp word [ebp - 0x1cc], 1
jne 0x512851
push 3
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x24]
jmp 0x512955
cmp dword [ebp - 0x1dc], 0x10
jne 0x512888
cmp dword [ebp - 0x1e0], 1
jne 0x512888
cmp word [ebp - 0x1cc], 1
jne 0x512888
push 4
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x24]
jmp 0x512955
cmp dword [ebp - 0x1dc], 8
jne 0x5128bf
cmp dword [ebp - 0x1e0], 4
jl 0x5128bf
cmp word [ebp - 0x1cc], 5
jne 0x5128bf
push 7
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x24]
jmp 0x512955
cmp dword [ebp - 0x1dc], 0x10
jne 0x5128f3
cmp dword [ebp - 0x1e0], 4
jne 0x5128f3
cmp word [ebp - 0x1cc], 5
jne 0x5128f3
push 7
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x24]
jmp 0x512955
cmp dword [ebp - 0x1dc], 0x10
jne 0x512927
cmp dword [ebp - 0x1e0], 3
jne 0x512927
cmp word [ebp - 0x1cc], 2
jne 0x512927
push 8
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x24]
jmp 0x512955
push 5
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x24]
jmp 0x512955
push 5
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x24]
test bl, bl
je 0x512965
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.0059bb80
cmp dword [ebp - 0x1d4], 0
jg 0x512977
cmp dword [ebp - 0x1d0], 0
jle 0x5129e9
cmp dword [ebp - 0x1b0], 0
jle 0x512997
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 4]
lea edx, [ebp - 0x1e8]
lea eax, [ebp - 0x48]
call fcn.0050e83c
jmp 0x512a07
cmp dword [ebp - 0x1c0], 0
jle 0x512a07
lea edx, [ebp - 0x1b4]
lea eax, [ebp - 0x48]
mov ecx, 0x111
call fcn.0050df54
mov dword [ebp - 0x1b0], eax
lea edx, [ebp - 0x1ac]
lea eax, [ebp - 0x48]
mov ecx, 0x117
call fcn.0050df54
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 4]
lea edx, [ebp - 0x1e8]
lea eax, [ebp - 0x48]
call fcn.0050e83c
jmp 0x512a07
cmp dword [ebp - 0x1c0], 0
jle 0x512a07
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 4]
lea edx, [ebp - 0x1e8]
lea eax, [ebp - 0x48]
call fcn.0050ea3c
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0x21]
mov byte [eax + 4], dl
mov eax, dword [ebp + 0x20]
cmp byte [eax + 0x68], 0
je 0x512a28
movzx edx, word [ebp - 0x1c8]
mov eax, dword [ebp - 4]
call fcn.005a48e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x512b0c
cmp dword [ebp + 0x20], 0
je 0x512a62
mov eax, dword [ebp + 0x20]
cmp dword [eax + 0x434], 0
je 0x512a62
mov eax, dword [ebp + 0x20]
call fcn.0057b2d4
cmp byte [eax + 0x18], 0
je 0x512a62
mov eax, dword [ebp + 0x20]
call fcn.0057b2d4
call fcn.005a4070
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x512a6e
call fcn.004027cc
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x512a7a
call fcn.004027cc
cmp dword [ebp - 0x1c0], 0
jle 0x512a8e
mov eax, dword [ebp - 0x1c4]
call fcn.004027cc
cmp dword [ebp - 0x1b8], 0
jle 0x512aa2
mov eax, dword [ebp - 0x1bc]
call fcn.004027cc
cmp dword [ebp - 0x1b0], 0
jle 0x512ab6
mov eax, dword [ebp - 0x1b4]
call fcn.004027cc
cmp dword [ebp - 0x1a8], 0
jle 0x512aca
mov eax, dword [ebp - 0x1ac]
call fcn.004027cc
cmp dword [ebp - 0x1a0], 0
jle 0x512ade
mov eax, dword [ebp - 0x1a4]
call fcn.004027cc
cmp dword [ebp - 0x198], 0
jle 0x512af2
mov eax, dword [ebp - 0x19c]
call fcn.004027cc
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x512b01
call fcn.004027cc
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x512b6a
lea eax, [ebp - 0x244]
mov edx, 0xa
call fcn.00404880
lea eax, [ebp - 0x21c]
mov edx, 5
call fcn.00404f98
lea eax, [ebp - 0x208]
mov edx, 8
call fcn.00404880
lea eax, [ebp - 0x1e8]
mov edx, dword [0x50da88]
call fcn.004053b4
lea eax, [ebp - 0x28]
call fcn.0040485c
ret