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

Disassembly:
sub esp, 0x17c
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebp
mov ebp, 1
mov dword [esp + 0x140], ebp
mov dword [esp + 0x144], ebp
mov eax, dword [esp + 0x188]
mov edi, dword [eax]
cmp edi, 1
jne 0x518b6f
mov ecx, 0
mov dword [esp + 0x140], ecx
cmp edi, 2
jne 0x518b84
mov edx, 0
mov dword [esp + 0x144], edx
mov eax, 0
mov dword [esp + 0x130], eax
mov dword [esp + 0x138], ebp
mov ecx, 0x32
mov edx, dword [esp + 0x144]
mov dword [esp + 0x134], edx
mov eax, dword [esp + 0x184]
mov dword [esp + 0xc4], eax
mov edx, dword [esp + 0x180]
mov dword [esp + 0xd0], edx
lea edx, [edx - 4]
mov dword [esp + 0x124], edx
lea eax, [eax + 0x60]
mov dword [esp + 0x12c], eax
mov edx, dword [esp + 0x140]
mov dword [esp + 0x13c], edx
mov eax, ecx
mov dword [esp + 0x148], eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x130]
inc ecx
mov edx, ecx
sar edx, 0x1f
mov eax, ecx
mov ebx, 0xb
idiv ebx
test edx, edx
mov dword [esp + 0x130], edx
jne 0x518c29
mov eax, 1
mov dword [esp + 0x130], eax
mov ecx, dword [0x64c710]
cmp ecx, 1
jne 0x518c5e
mov ebp, dword [esp + 0x130]
mov edx, dword [ebp*4 + 0x64b3ec]
mov eax, dword [0x64c714]
cmp edx, eax
jne 0x518c5e
mov ecx, ebp
inc ecx
mov dword [esp + 0x130], ecx
mov ebp, dword [esp + 0x130]
mov dword [esp + 0xe0], ebp
mov edx, ebp
shl edx, 2
lea eax, [0x64b3ec]
add eax, edx
lea edi, [eax]
mov dword [esp], edi
lea ecx, [esp + 0xe0]
mov dword [esp + 4], ecx
call fcn.00516378
mov edx, dword [0x64c710]
cmp edx, 3
jne 0x518ca5
mov dword [esp], edi
call fcn.0058d348
mov eax, dword [esp + 0x134]
test eax, eax
je 0x519504
mov ecx, dword [0x64f19c]
mov dword [0x64f198], ecx
mov edx, dword [esp + 0x138]
mov dword [esp + 0x118], edx
mov eax, ebp
mov dword [esp + 0xc8], eax
nop
mov ebp, dword [0x64f198]
test ebp, ebp
je 0x519504
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + ebp*4 + 0x68]
test dword [0x64aa64], edx
jne 0x5194bc
mov ecx, 3
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
lea edx, [0x64f198]
mov dword [esp + 8], edx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xc], ecx
call fcn.005e5440
mov edx, eax
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0x118]
cmp eax, edx
jne 0x5194bc
mov ecx, dword [0x64f198]
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + ecx*4 - 4]
cmp eax, 3
jne 0x518da9
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
lea eax, [0x64f198]
mov dword [esp + 8], eax
lea ecx, [esp + 0x11c]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0x120]
mov dword [esp + 0x10], edx
call fcn.00420cc0
jmp 0x518e10
mov eax, 7
mov dword [esp + 0xdc], eax
mov ecx, dword [0x64f198]
shl ecx, 2
add ecx, dword [esp + 0x124]
lea edx, [ecx]
mov dword [esp], edx
lea edi, [esp + 0xdc]
mov dword [esp + 4], edi
call fcn.005e5570
fstp dword [0x64adc8]
mov eax, 8
mov dword [esp + 0xdc], eax
mov ecx, dword [0x64f198]
shl ecx, 2
add ecx, dword [esp + 0x124]
lea edx, [ecx]
mov dword [esp], edx
mov dword [esp + 4], edi
call fcn.005e5570
fstp dword [0x64adcc]
mov eax, dword [0x64c728]
test eax, eax
je 0x51918c
mov ecx, dword [0x64f198]
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + ecx*4 - 4]
cmp eax, 3
jne 0x51918c
mov ecx, 0x14
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov esi, dword [esp + 0xc4]
mov dword [esp + 4], esi
lea ecx, [0x64f198]
mov dword [esp + 8], ecx
lea edx, [esp + 0xdc]
mov dword [esp + 0xc], edx
call fcn.005e5440
mov ecx, dword [esi + eax*4 - 4]
mov dword [esp + 0xc0], ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, dword [esp + 0xc0]
test ebp, ebp
je 0x518fe2
mov edx, ebp
add edx, 0xb
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + edx*4 - 4]
test ecx, ecx
jne 0x518fc4
mov edx, 1
mov ebp, edx
mov eax, 3
mov esi, eax
mov edi, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0xdc], edi
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
lea ecx, [esp + 0xc0]
mov dword [esp + 8], ecx
lea ebx, [esp + 0xdc]
mov dword [esp + 0xc], ebx
call fcn.005e5440
mov edx, eax
mov eax, 3
mov dword [esp + 0xdc], eax
shl edx, 2
add edx, dword [esp + 0x124]
lea edx, [edx]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 0x4c], edx
call fcn.005e5570
fstp dword [ebp*4 + 0x64c6ac]
mov ecx, 4
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.005e5570
fstp dword [ebp*4 + 0x64c6c0]
inc ebp
inc edi
dec esi
jg 0x518ec8
mov eax, 3
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
lea eax, [0x64c6b0]
mov dword [esp + 8], eax
lea ecx, [0x64c6c4]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0xdc]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0xc8]
shl eax, 2
lea ecx, [0x64b3ec]
add ecx, eax
lea edx, [ecx]
mov dword [esp + 0x14], edx
lea eax, [esp + 0xe0]
mov dword [esp + 0x18], eax
call fcn.0053cfe8
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + ecx*4 - 4]
mov dword [esp + 0xc0], eax
jmp 0x518e88
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
lea ecx, [0x64adc8]
mov dword [esp + 8], ecx
lea edx, [0x64adcc]
mov dword [esp + 0xc], edx
call fcn.0051e920
test dword [0x64c750], eax
je 0x5190ae
mov ecx, 0xf
mov dword [esp + 0xdc], ecx
mov edx, 1
mov dword [esp + 0x128], edx
lea eax, [esp + 0xdc]
mov dword [esp], eax
lea ecx, [esp + 0x128]
mov dword [esp + 4], ecx
call fcn.00516378
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
lea ecx, [0x64adc8]
mov dword [esp + 8], ecx
lea edx, [0x64adcc]
mov dword [esp + 0xc], edx
lea eax, [esp + 0xe8]
mov dword [esp + 0x10], eax
call fcn.0051cfa8
mov ecx, dword [esp + 0xc8]
shl ecx, 2
lea edx, [0x64b3ec]
add edx, ecx
lea eax, [edx]
mov dword [esp], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 4], ecx
call fcn.00516378
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
lea edx, [0x64adc8]
mov dword [esp + 8], edx
lea ecx, [0x64adcc]
mov dword [esp + 0xc], ecx
call fcn.0051e920
mov edx, eax
test dword [0x64c828], edx
je 0x5194bc
mov eax, 0xf
mov dword [esp + 0xdc], eax
mov ecx, 1
mov dword [esp + 0x128], ecx
lea edx, [esp + 0xdc]
mov dword [esp], edx
lea eax, [esp + 0x128]
mov dword [esp + 4], eax
call fcn.00516378
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
lea eax, [0x64adc8]
mov dword [esp + 8], eax
lea ecx, [0x64adcc]
mov dword [esp + 0xc], ecx
mov edx, dword [0x64f198]
shl edx, 2
add edx, dword [esp + 0x12c]
lea eax, [edx]
mov dword [esp + 0x10], eax
call fcn.0051cfa8
mov ecx, dword [esp + 0xc8]
shl ecx, 2
lea edx, [0x64b3ec]
add edx, ecx
lea eax, [edx]
mov dword [esp], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 4], ecx
call fcn.00516378
jmp 0x5194bc
mov edx, dword [0x64c750]
test edx, edx
je 0x51920e
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
lea ecx, [0x64adc8]
mov dword [esp + 8], ecx
lea edx, [0x64adcc]
mov dword [esp + 0xc], edx
call fcn.0051e920
test eax, eax
je 0x5194bc
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
lea edx, [0x64adc8]
mov dword [esp + 8], edx
lea eax, [0x64adcc]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0xe8]
mov dword [esp + 0x10], ecx
call fcn.0051cfa8
jmp 0x5194bc
mov edx, dword [0x64c828]
test edx, edx
je 0x51929b
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
lea ecx, [0x64adc8]
mov dword [esp + 8], ecx
lea edx, [0x64adcc]
mov dword [esp + 0xc], edx
call fcn.0051e920
test eax, eax
je 0x5194bc
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
lea edx, [0x64adc8]
mov dword [esp + 8], edx
lea eax, [0x64adcc]
mov dword [esp + 0xc], eax
mov ecx, dword [0x64f198]
shl ecx, 2
add ecx, dword [esp + 0x12c]
lea edx, [ecx]
mov dword [esp + 0x10], edx
call fcn.0051cfa8
jmp 0x5194bc
mov eax, dword [0x64f198]
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + eax*4 - 4]
cmp edx, 3
jne 0x519416
mov ecx, 0x14
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov ebp, dword [esp + 0xc4]
mov dword [esp + 4], ebp
lea ecx, [0x64f198]
mov dword [esp + 8], ecx
lea edx, [esp + 0xdc]
mov dword [esp + 0xc], edx
call fcn.005e5440
mov ecx, dword [ebp + eax*4 - 4]
mov dword [esp + 0xc0], ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, dword [esp + 0xc0]
test ebp, ebp
je 0x5194bc
mov edx, ebp
add edx, 0xb
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + edx*4 - 4]
test ecx, ecx
jne 0x5193f8
mov edx, dword [esp + 0xc8]
mov ecx, dword [edx*4 + 0x64b3ec]
mov dword [esp + 0xcc], ecx
mov esi, dword [esp + 0xd0]
mov dword [esp], esi
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
lea edx, [esp + 0xc0]
mov dword [esp + 8], edx
lea ebp, [esp + 0xd4]
mov dword [esp + 0xc], ebp
lea edi, [esp + 0xd8]
mov dword [esp + 0x10], edi
call fcn.0041dc50
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.0051e920
test eax, eax
je 0x5193f8
mov eax, 1
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
lea eax, [esp + 0xdc]
mov dword [esp + 8], eax
lea ecx, [esp + 0xd4]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0xd8]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xcc]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], ecx
call fcn.00550a78
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + edx*4 - 4]
mov dword [esp + 0xc0], ecx
jmp 0x519308
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
lea edx, [0x64adc8]
mov dword [esp + 8], edx
lea ecx, [0x64adcc]
mov dword [esp + 0xc], ecx
call fcn.0051e920
test eax, eax
je 0x5194bc
mov edx, dword [esp + 0xc8]
mov eax, dword [edx*4 + 0x64b3ec]
mov dword [esp + 0xcc], eax
mov ecx, 1
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
lea ecx, [esp + 0xdc]
mov dword [esp + 8], ecx
lea edx, [0x64adc8]
mov dword [esp + 0xc], edx
lea eax, [0x64adcc]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xcc]
mov dword [esp + 0x14], ecx
lea edx, [esp + 0xe0]
mov dword [esp + 0x18], edx
call fcn.00550a78
mov ecx, 1
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
lea edx, [0x64f198]
mov dword [esp + 8], edx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xc], ecx
call fcn.005e5440
mov edx, eax
mov dword [0x64f198], edx
jmp 0x518cd8
mov eax, dword [esp + 0x13c]
test eax, eax
je 0x5196ce
mov ecx, dword [0x64f1b4]
mov dword [esp + 0xe4], ecx
mov ebp, dword [esp + 0x138]
mov edi, dword [esp + 0x130]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0xe4]
test esi, esi
je 0x5196ce
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + esi*4 + 0x1c]
mov dword [esp + 0xe8], eax
mov ebx, dword [edx + esi*4 + 4]
mov dword [esp + 0xec], ebx
mov ecx, dword [edx + esi*4 + 8]
mov dword [esp + 0xf0], ecx
test eax, eax
jne 0x519584
mov edx, dword [case.0x407d9a.56]
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0xe8]
test eax, eax
jne 0x5195ac
mov dword [esp + 0xec], ebx
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + ebx*4 + 8]
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + esi*4]
mov dword [esp + 0xf4], ecx
mov edx, dword [esp + 0xec]
mov ebx, dword [0x64aa64]
test dword [eax + edx*4 + 0x68], ebx
jne 0x5196bb
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xf0]
test dword [eax + ecx*4 + 0x68], ebx
jne 0x5196bb
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + esi*4 + 0x78]
test eax, eax
jne 0x5196bb
mov ecx, dword [esp + 0xe8]
cmp ecx, ebp
jne 0x5196bb
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + esi*4 + 0x44]
cmp eax, 4
jne 0x51966d
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + esi*4 + 0x24]
mov dword [esp + 0xf8], eax
mov eax, dword [ecx + esi*4 + 0x28]
mov dword [esp + 0xfc], eax
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
lea ecx, [esp + 0xfc]
mov dword [esp + 0xc], ecx
call fcn.0051e920
jmp 0x5196bb
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
lea ecx, [esp + 0xe4]
mov dword [esp + 8], ecx
mov edx, edi
shl edx, 2
lea eax, [0x64b3ec]
add eax, edx
lea ecx, [eax]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0xe0]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xe8]
mov dword [esp + 0x14], eax
call fcn.00519e88
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0xe4], ecx
jmp 0x519538
mov edx, dword [esp + 0x138]
inc edx
mov dword [esp + 0x138], edx
mov eax, dword [esp + 0x148]
dec eax
mov dword [esp + 0x148], eax
jg 0x518bf8
mov ecx, 0xb
mov dword [esp + 0x130], ecx
mov dword [esp + 0xe0], ecx
lea edx, [0x64b3f0]
add edx, 0x2c
lea ebp, [edx - 4]
mov dword [esp], ebp
lea eax, [esp + 0xe0]
mov dword [esp + 4], eax
call fcn.00516378
mov ecx, dword [0x64c710]
cmp ecx, 3
jne 0x51973b
mov dword [esp], ebp
call fcn.0058d348
mov edx, dword [esp + 0x144]
test edx, edx
je 0x519a35
mov eax, dword [0x64f19c]
mov dword [0x64f198], eax
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x110], ecx
mov edx, dword [esp + 0x180]
mov dword [esp + 0x114], edx
lea eax, [edx - 4]
mov dword [esp + 0x14c], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, dword [0x64f198]
test ebp, ebp
je 0x519a28
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + ebp*4 + 0x68]
test dword [0x64aa64], edx
jne 0x519a0d
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + ebp*4 - 4]
cmp ecx, 3
jne 0x519a0d
mov edx, dword [esp + 0x110]
mov eax, dword [edx + ebp*4 + 0x4c]
mov ecx, dword [edx + eax*4 - 4]
mov dword [esp + 0xc0], ecx
nop
mov ebp, dword [esp + 0xc0]
test ebp, ebp
je 0x519a00
mov edx, ebp
add edx, 0xb
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + edx*4 - 4]
test ecx, ecx
je 0x5199e2
mov edx, dword [0x64c728]
test edx, edx
je 0x51991f
mov eax, 1
mov ebp, eax
mov ecx, 3
mov esi, ecx
mov edi, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0xdc], edi
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc0]
mov dword [esp + 8], edx
lea ebx, [esp + 0xdc]
mov dword [esp + 0xc], ebx
call fcn.005e5440
mov ecx, 3
mov dword [esp + 0xdc], ecx
shl eax, 2
add eax, dword [esp + 0x14c]
lea edx, [eax]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 0x4c], edx
call fcn.005e5570
fstp dword [ebp*4 + 0x64c6ac]
mov edx, 4
mov dword [esp + 0xdc], edx
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.005e5570
fstp dword [ebp*4 + 0x64c6c0]
inc ebp
inc edi
dec esi
jg 0x519828
mov ecx, 3
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
lea ecx, [0x64c6b0]
mov dword [esp + 8], ecx
lea edx, [0x64c6c4]
mov dword [esp + 0xc], edx
lea eax, [esp + 0xdc]
mov dword [esp + 0x10], eax
lea ecx, [0x64b3f0]
add ecx, 0x2c
lea edx, [ecx - 4]
mov dword [esp + 0x14], edx
lea eax, [esp + 0xe0]
mov dword [esp + 0x18], eax
call fcn.0053cfe8
jmp 0x5199e2
mov ebp, dword [esp + 0x114]
mov dword [esp], ebp
mov edi, dword [esp + 0x110]
mov dword [esp + 4], edi
lea ecx, [esp + 0xc0]
mov dword [esp + 8], ecx
lea esi, [0x64adc8]
mov dword [esp + 0xc], esi
lea ebx, [0x64adcc]
mov dword [esp + 0x10], ebx
call fcn.0041dc50
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
call fcn.0051e920
test eax, eax
je 0x5199e2
mov edx, 0xb
mov eax, dword [edx*4 + 0x64b3ec]
mov dword [esp + 0xcc], eax
mov ecx, 1
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
lea ecx, [esp + 0xdc]
mov dword [esp + 8], ecx
lea edx, [0x64adc8]
mov dword [esp + 0xc], edx
lea eax, [0x64adcc]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xcc]
mov dword [esp + 0x14], ecx
lea edx, [esp + 0xe0]
mov dword [esp + 0x18], edx
call fcn.00550a78
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + eax*4 - 4]
mov dword [esp + 0xc0], edx
jmp 0x5197d8
lea eax, [0x64b3f0]
lea ecx, [esp + 0xe0]
mov edx, dword [0x64f198]
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + edx*4]
mov dword [0x64f198], ecx
jmp 0x519788
lea edx, [0x64b3f0]
lea eax, [esp + 0xe0]
mov ecx, dword [esp + 0x140]
test ecx, ecx
je 0x519b5f
mov edx, dword [0x64f1b4]
mov dword [esp + 0xe4], edx
mov ebp, dword [esp + 0x184]
mov edi, dword [esp + 0x180]
lea esi, [esp + 0xe4]
mov ebx, dword [esp + 0x130]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x100], eax
test eax, eax
je 0x519b5f
mov ecx, dword [esp + 0x100]
mov edx, dword [ebp + ecx*4 + 4]
mov dword [esp + 0xec], edx
mov eax, dword [ebp + ecx*4 + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [ebp + ecx*4]
mov dword [esp + 0x108], ecx
mov edx, dword [ebp + edx*4 + 0x68]
mov eax, dword [0x64aa64]
mov dword [esp + 0x10c], eax
test dword [0x64aa64], edx
jne 0x519b4c
mov ecx, dword [esp + 0x104]
mov edx, dword [ebp + ecx*4 + 0x68]
test dword [esp + 0x10c], edx
jne 0x519b4c
mov eax, dword [esp + 0x100]
mov ecx, dword [ebp + eax*4 + 0x78]
test ecx, ecx
je 0x519b4c
mov edx, dword [esp + 0x100]
mov eax, dword [ebp + edx*4 + 0x44]
cmp eax, 4
je 0x519b4c
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov ecx, ebx
shl ecx, 2
lea edx, [0x64b3f0]
add edx, ecx
lea eax, [edx - 4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x10], ecx
lea edx, [esp + 0xe8]
mov dword [esp + 0x14], edx
call fcn.00519e88
mov eax, dword [esp + 0x108]
mov dword [esp + 0xe4], eax
jmp 0x519a78
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
add esp, 0x17c
ret