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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6253b7
mov eax, dword fs:[0]
push eax
sub esp, 0x1b0
mov eax, dword [0x67dc50]
xor eax, esp
mov dword [esp + 0x1a8], eax
push ebx
push esi
push edi
mov eax, dword [0x67dc50]
xor eax, esp
push eax
lea eax, [esp + 0x1c0]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x84]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x20], esi
call fcn.00405fd0
mov dword [esp + 0x1c8], 0
test esi, esi
jne 0x597729
lea esi, [esp + 0x84]
mov dword [esp + 0x20], esi
jmp 0x59772d
mov esi, dword [esp + 0x20]
push edi
lea ecx, [esp + 0xc8]
call fcn.0053f9a0
push ebx
lea ecx, [esp + 0x94]
mov byte [esp + 0x1cc], 1
call fcn.0053f9a0
mov eax, dword [esp + 0xd0]
mov byte [esp + 0x1c8], 2
cmp eax, dword [esp + 0x9c]
jne 0x5984f7
push 0x11
lea ecx, [esp + 0xc8]
call fcn.0053f540
push 0x11
lea ecx, [esp + 0x94]
call fcn.0053f540
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
cmp eax, ecx
jne 0x5984f7
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebx
cmp eax, ecx
je 0x5979e1
mov edi, eax
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call sub.MSVCR90.dll_void____cdecl_operator_new___unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x1c8], 3
test eax, eax
je 0x59780a
push 0x594d30
push 0x594d20
push edi
lea esi, [eax + 4]
push 0x18
push esi
mov dword [eax], edi
call fcn.005f6257
mov edi, esi
jmp 0x59780c
xor edi, edi
mov byte [esp + 0x1c8], 2
mov dword [esp + 0x28], edi
test edi, edi
jne 0x597863
push 0x304
call fcn.005eed40
add esp, 4
mov esi, eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x1c8], 1
call fcn.005400d0
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1c8], 0
call fcn.005400d0
mov dword [esp + 0x1c8], 0xffffffff
jmp 0x598099
mov ebx, dword [esp + 0x4c]
xor ecx, ecx
mov eax, ebx
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call sub.MSVCR90.dll_void____cdecl_operator_new___unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x1c8], 4
test eax, eax
je 0x5978b8
push 0x594d30
push 0x594d20
push ebx
lea esi, [eax + 4]
push 0x18
push esi
mov dword [eax], ebx
call fcn.005f6257
jmp 0x5978ba
xor esi, esi
mov ebx, esi
mov byte [esp + 0x1c8], 2
mov dword [esp + 0x2c], ebx
test esi, esi
jne 0x59792c
mov ecx, dword [edi - 4]
push 0x594d30
lea esi, [edi - 4]
push ecx
push 0x18
push edi
call fcn.005f61f4
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
push 0x304
call fcn.005eed40
add esp, 8
lea ecx, [esp + 0x90]
mov esi, eax
mov byte [esp + 0x1c8], 1
call fcn.005400d0
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1c8], bl
call fcn.005400d0
mov dword [esp + 0x1c8], 0xffffffff
jmp 0x598099
lea edx, [esp + 0xd8]
push edx
lea ecx, [esp + 0x78]
call fcn.005eb0e0
mov eax, dword [esp + 0x78]
mov byte [esp + 0x1c8], 5
test eax, eax
je 0x5979b4
mov esi, edi
mov bl, 6
add eax, 0xffffffec
mov dword [esi], eax
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x597963
add ecx, 0xffffffec
jmp 0x597965
xor ecx, ecx
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
lea edx, [esp + 0x50]
push edx
call eax
push eax
lea ecx, [esi + 4]
mov byte [esp + 0x1cc], bl
call fcn.00517170
lea ecx, [esp + 0x50]
mov byte [esp + 0x1c8], 5
call fcn.004ed1b0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
add esi, 0x18
cmp eax, dword [ecx]
jne 0x5979a5
xor eax, eax
jmp 0x5979a8
mov eax, dword [eax + 0xc]
mov dword [esp + 0x78], eax
test eax, eax
jne 0x597951
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
push 0x594d40
push 0x18
push edx
push edi
call dword [sym.imp.MSVCR90.dll_qsort]
add esp, 0x10
lea ecx, [esp + 0x74]
mov byte [esp + 0x1c8], 2
call fcn.004ed1b0
mov esi, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x60]
call fcn.00405fd0
mov byte [esp + 0x1c8], 7
or edi, 0xffffffff
lea ecx, [ecx]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x78]
push edx
push 1
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0xd8]
push ecx
call fcn.005968f0
add esp, 0x18
test eax, eax
je 0x598001
cmp dword [esp + 0x48], 0
jne 0x597a7a
mov eax, dword [esi]
mov ecx, esi
push eax
cmp dword [esp + 0x74], edi
je 0x598106
mov edx, dword [esp + 0x6c]
fld qword [edx]
fstp qword [esp + 0x120]
call fcn.005ec110
fld qword [esp + 0x11c]
push 0
lea ecx, [esp + 0x64]
fstp qword [eax]
call fcn.005ec110
mov dword [esp + 0x60], 0
jmp 0x597ff6
cmp dword [esp + 0x70], edi
jne 0x597e48
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0xa0]
lea ecx, [esp + 0x170]
call fcn.00517e90
lea ecx, [esp + 0x194]
mov byte [esp + 0x1c8], 8
call fcn.00517e90
lea ecx, [esp + 0x170]
push ecx
mov ecx, esi
mov byte [esp + 0x1cc], 9
call fcn.00580b30
lea edx, [esp + 0x194]
push edx
mov ecx, edi
call fcn.00580b30
lea ecx, [esp + 0x30]
call fcn.00405fd0
cmp dword [esp + 0x48], 0
mov ebx, closesocket
mov byte [esp + 0x1c8], 0xa
mov dword [esp + 0x14], ebx
jle 0x597bbe
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x14], eax
lea esp, [esp]
mov edx, dword [edi]
lea ecx, [esp + 0x50]
push ecx
push edx
lea eax, [esp + 0x178]
push eax
call fcn.005d0130
mov esi, eax
push ebx
push esi
call fcn.00521090
add esp, 0x14
test eax, eax
je 0x597b60
mov ecx, dword [esp + 0x30]
push ecx
lea ecx, [esp + 0x34]
call fcn.005eb180
mov edx, dword [esp + 0x50]
mov dword [eax], edx
mov ecx, dword [esp + 0x54]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x30]
push edx
lea ecx, [esp + 0x34]
call fcn.005eb180
jmp 0x597b9f
cmp esi, ebx
jge 0x597bac
push 0
lea ecx, [esp + 0x34]
call fcn.005eb180
push 0
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], 0
call fcn.005eb180
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x54]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0x34]
call fcn.005eb180
mov ebx, esi
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov edx, dword [esp + 0x5c]
mov dword [eax + 4], edx
add edi, 0x18
sub dword [esp + 0x14], 1
jne 0x597b10
mov dword [esp + 0x14], ebx
lea ecx, [esp + 0x3c]
call fcn.00405fd0
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1cc], 0xb
mov edi, closesocket
call fcn.005eb0e0
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov byte [esp + 0x1c8], 0xc
cmp eax, ebx
je 0x597cb1
lea ecx, [esp + 0x50]
push ecx
add eax, 0xffffffec
push eax
lea edx, [esp + 0x19c]
push edx
call fcn.005d0130
mov esi, eax
push edi
push esi
call fcn.00521090
add esp, 0x14
test eax, eax
je 0x597c4c
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [esp + 0x40]
call fcn.005eb180
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x54]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [esp + 0x40]
call fcn.005eb180
jmp 0x597c85
cmp esi, edi
jge 0x597c92
push ebx
lea ecx, [esp + 0x40]
call fcn.005eb180
push ebx
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], ebx
call fcn.005eb180
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x54]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [esp + 0x40]
call fcn.005eb180
mov edi, esi
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov edx, dword [esp + 0x5c]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx]
jne 0x597ca2
xor eax, eax
jmp 0x597ca5
mov eax, dword [eax + 0xc]
mov dword [esp + 0x1c], eax
cmp eax, ebx
jne 0x597bfb
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x3c]
push edi
push edx
call fcn.00521090
add esp, 8
test eax, eax
je 0x598441
cmp esi, ebx
jne 0x598441
cmp esi, 2
jne 0x598114
cmp ebx, esi
jne 0x598114
cmp dword [esp + 0x30], 0
jle 0x597cf5
mov eax, dword [esp + 0x38]
jmp 0x597d00
push 0
lea ecx, [esp + 0x34]
call fcn.005eb180
mov ecx, dword [eax]
mov dword [esp + 0xf0], ecx
mov edx, dword [eax + 4]
mov esi, 1
cmp dword [esp + 0x30], esi
mov dword [esp + 0xf4], edx
jle 0x597d27
mov eax, dword [esp + 0x38]
add eax, 8
jmp 0x597d31
push esi
lea ecx, [esp + 0x34]
call fcn.005eb180
cmp dword [esp + 0x3c], 0
mov ecx, dword [eax]
mov dword [esp + 0xf8], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0xfc], edx
jle 0x597d51
mov eax, dword [esp + 0x44]
jmp 0x597d5c
push 0
lea ecx, [esp + 0x40]
call fcn.005eb180
cmp dword [esp + 0x3c], esi
mov ecx, dword [eax]
mov dword [esp + 0x100], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x104], edx
jle 0x597d7e
mov eax, dword [esp + 0x44]
add eax, 8
jmp 0x597d88
push esi
lea ecx, [esp + 0x40]
call fcn.005eb180
mov ecx, dword [eax]
fldz
mov dword [esp + 0x108], ecx
fstp qword [esp + 0xbc]
mov edx, dword [eax + 4]
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x104]
mov dword [esp + 0x110], edx
push ecx
lea edx, [esp + 0xf8]
push edx
call fcn.00594220
fld qword [esp + 0xc8]
mov eax, dword [esp + 0x6c]
fstp qword [esp + 0x138]
add esp, 0xc
push eax
lea ecx, [esp + 0x64]
call fcn.005ec110
fld qword [esp + 0x12c]
lea ecx, [esp + 0x18]
fstp qword [eax]
mov byte [esp + 0x1c8], 0xb
call fcn.004ed1b0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0xa
call fcn.005ee4c0
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c8], 9
call fcn.005ee4c0
lea ecx, [esp + 0x194]
mov byte [esp + 0x1c8], 8
call fcn.00518980
lea ecx, [esp + 0x170]
mov byte [esp + 0x1c8], 7
call fcn.00518980
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x80]
call fcn.005eb0e0
cmp dword [esp + 0x80], 0
mov byte [esp + 0x1c8], 0x11
je 0x597f2e
mov edi, ebx
push 0x14
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x1c8], 0x12
test eax, eax
je 0x597eb6
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x597ea8
add ecx, 0xffffffec
push ecx
mov ecx, eax
call fcn.0054dd10
mov esi, eax
jmp 0x597eb8
xor ecx, ecx
push ecx
mov ecx, eax
call fcn.0054dd10
mov esi, eax
jmp 0x597eb8
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x67eb90
mov ecx, esi
mov byte [esp + 0x1cc], 0x11
call eax
mov dword [edi], esi
mov edx, dword [esi]
mov edx, dword [edx + 0x2c]
lea eax, [esp + 0x134]
push eax
mov ecx, esi
call edx
push eax
lea ecx, [edi + 4]
mov byte [esp + 0x1cc], 0x13
call fcn.00517170
lea ecx, [esp + 0x134]
mov byte [esp + 0x1c8], 0x11
call fcn.004ed1b0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
add edi, 0x18
cmp eax, dword [ecx]
jne 0x597f1c
xor eax, eax
jmp 0x597f1f
mov eax, dword [eax + 0xc]
mov dword [esp + 0x80], eax
test eax, eax
jne 0x597e74
mov edx, dword [esp + 0x4c]
push 0x594d40
push 0x18
push edx
push ebx
call dword [sym.imp.MSVCR90.dll_qsort]
xor esi, esi
add esp, 0x10
cmp dword [esp + 0x48], esi
jle 0x597f77
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
sub ebx, edi
mov eax, dword [ebx + edi]
mov ecx, dword [edi]
push eax
push ecx
call fcn.00595320
add esp, 8
test eax, eax
je 0x5980cb
inc esi
add edi, 0x18
cmp esi, dword [esp + 0x48]
jl 0x597f56
cmp dword [esp + 0x60], 0
je 0x597fa4
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x597fa4
mov eax, dword [esp + 0x68]
mov edx, dword [ecx]
fld qword [eax]
push edx
fstp qword [esp + 0x128]
call fcn.005ec110
fld qword [esp + 0x124]
fstp qword [eax]
cmp dword [esp + 0x4c], 0
mov ebx, dword [esp + 0x2c]
jle 0x597fcb
mov edi, dword [esp + 0x4c]
mov esi, ebx
mov ecx, dword [esi]
test ecx, ecx
je 0x597fc3
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
add esi, 0x18
sub edi, 1
jne 0x597fb5
push 0
lea ecx, [esp + 0x64]
call fcn.005ec110
lea ecx, [esp + 0x7c]
mov dword [esp + 0x60], 0
mov byte [esp + 0x1c8], 7
call fcn.004ed1b0
mov esi, dword [esp + 0x20]
or edi, 0xffffffff
cmp dword [esp + 0x24], 0
je 0x597a00
cmp dword [esp + 0x28], 0
je 0x59804e
mov eax, dword [esp + 0x28]
mov edx, dword [eax - 4]
lea esi, [eax - 4]
push 0x594d30
push edx
push 0x18
push eax
call fcn.005f61f4
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
test ebx, ebx
je 0x59804a
mov eax, dword [ebx - 4]
push 0x594d30
lea esi, [ebx - 4]
push eax
push 0x18
push ebx
call fcn.005f61f4
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
xor ecx, ecx
test eax, eax
setne cl
mov byte [esp + 0x1c8], 2
mov esi, ecx
lea ecx, [esp + 0x60]
call fcn.005ee4c0
lea ecx, [esp + 0x90]
mov byte [esp + 0x1c8], 1
call fcn.005400d0
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1c8], 0
call fcn.005400d0
mov dword [esp + 0x1c8], edi
lea ecx, [esp + 0x84]
call fcn.005ee4c0
mov eax, esi
mov ecx, dword [esp + 0x1c0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a8]
xor ecx, esp
call fcn.005f617e
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x6c]
push edx
lea ecx, [esp + 0x94]
call fcn.0053fd90
push 0x11
lea ecx, [esp + 0x94]
call fcn.0053f540
cmp dword [esp + 0x24], 1
jne 0x597fa4
lea ecx, [esp + 0x90]
call fcn.0053d920
jmp 0x597fa4
call fcn.005ec110
fldz
fstp qword [eax]
jmp 0x598001
sar esi, 1
xor ecx, ecx
mov eax, esi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.MSVCR90.dll_void____cdecl_operator_new___unsigned_int_
add esp, 4
xor ebx, ebx
mov dword [esp + 0x24], eax
test esi, esi
jle 0x59816e
mov edi, eax
lea ecx, [ecx]
lea eax, [ebx + ebx]
cmp eax, dword [esp + 0x30]
jge 0x598152
mov ecx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
jmp 0x59815c
push eax
lea ecx, [esp + 0x34]
call fcn.005eb180
mov edx, dword [eax]
mov dword [edi], edx
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
inc ebx
add edi, 8
cmp ebx, esi
jl 0x598140
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x170]
push ecx
push esi
push edx
call fcn.0055c580
xor ecx, ecx
mov eax, esi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.MSVCR90.dll_void____cdecl_operator_new___unsigned_int_
add esp, 0x10
mov edi, eax
xor ebx, ebx
mov dword [esp + 0x14], edi
test esi, esi
jle 0x5981e2
jmp 0x5981b0
lea eax, [ebx + ebx]
cmp eax, dword [esp + 0x3c]
jge 0x5981c2
mov ecx, dword [esp + 0x44]
lea eax, [ecx + eax*8]
jmp 0x5981cc
push eax
lea ecx, [esp + 0x40]
call fcn.005eb180
mov edx, dword [eax]
mov dword [edi], edx
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
inc ebx
add edi, 8
cmp ebx, esi
jl 0x5981b0
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x194]
push ecx
push esi
push edi
call fcn.0055c580
mov edx, dword [esp + 0x30]
add esp, 0xc
push esi
push edx
lea ecx, [esp + 0x14c]
call fcn.0053d330
push esi
push edi
lea ecx, [esp + 0xf8]
mov byte [esp + 0x1d0], 0xd
call fcn.0053d330
lea eax, [esp + 0xd8]
mov ecx, eax
mov byte [esp + 0x1c8], 0xe
mov dword [esp + 0x18], eax
call fcn.005eaef0
mov dword [esp + 0x1c], eax
test eax, eax
je 0x5982b8
mov bl, 0xf
lea ecx, [esp + 0x144]
push ecx
push 0x24
call fcn.0053f350
add esp, 8
mov dword [esp + 0x6c], eax
mov byte [esp + 0x1c8], bl
test eax, eax
je 0x598286
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x59827a
add ecx, 0xffffffec
push ecx
mov ecx, eax
call fcn.0053e7f0
jmp 0x598288
xor ecx, ecx
push ecx
mov ecx, eax
call fcn.0053e7f0
jmp 0x598288
xor eax, eax
push eax
lea ecx, [esp + 0x148]
mov byte [esp + 0x1cc], 0xe
call fcn.0053f400
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp eax, dword [edx]
jne 0x5982ad
xor eax, eax
jmp 0x5982b0
mov eax, dword [eax + 0xc]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x598244
lea eax, [esp + 0xa4]
mov ecx, eax
mov dword [esp + 0x18], eax
call fcn.005eaef0
mov dword [esp + 0x1c], eax
test eax, eax
je 0x598354
mov bl, 0x10
jmp 0x5982e0
lea ecx, [esp + 0xf0]
push ecx
push 0x24
call fcn.0053f350
add esp, 8
mov dword [esp + 0x6c], eax
mov byte [esp + 0x1c8], bl
test eax, eax
je 0x598322
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x598316
add ecx, 0xffffffec
push ecx
mov ecx, eax
call fcn.0053e7f0
jmp 0x598324
xor ecx, ecx
push ecx
mov ecx, eax
call fcn.0053e7f0
jmp 0x598324
xor eax, eax
push eax
lea ecx, [esp + 0xf4]
mov byte [esp + 0x1cc], 0xe
call fcn.0053f400
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp eax, dword [edx]
jne 0x598349
xor eax, eax
jmp 0x59834c
mov eax, dword [eax + 0xc]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x5982e0
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0xf4]
push ecx
lea edx, [esp + 0x14c]
push edx
call fcn.005976b0
mov esi, eax
mov eax, dword [esp + 0x30]
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
mov eax, dword [esp + 0x3c]
add esp, 0x14
test eax, eax
je 0x5983a8
mov ecx, dword [eax - 4]
lea edi, [eax - 4]
push 0x594d30
push ecx
push 0x18
push eax
call fcn.005f61f4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
lea ecx, [esp + 0xf0]
mov byte [esp + 0x1c8], 0xd
call fcn.005400d0
lea ecx, [esp + 0x144]
mov byte [esp + 0x1c8], 0xc
call fcn.005400d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0xb
call fcn.004ed1b0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0xa
call fcn.005ee4c0
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c8], 9
call fcn.005ee4c0
lea ecx, [esp + 0x194]
mov byte [esp + 0x1c8], 8
call fcn.00518980
lea ecx, [esp + 0x170]
mov byte [esp + 0x1c8], 7
call fcn.00518980
lea ecx, [esp + 0x60]
mov byte [esp + 0x1c8], 2
call fcn.005ee4c0
jmp 0x59782b
mov eax, dword [esp + 0x28]
test eax, eax
je 0x59848b
mov edx, dword [eax - 4]
lea esi, [eax - 4]
push 0x594d30
push edx
push 0x18
push eax
call fcn.005f61f4
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x59848b
mov ecx, dword [eax - 4]
lea esi, [eax - 4]
push 0x594d30
push ecx
push 0x18
push eax
call fcn.005f61f4
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0xb
call fcn.004ed1b0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0xa
call fcn.005ee4c0
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c8], 9
call fcn.005ee4c0
lea ecx, [esp + 0x194]
mov byte [esp + 0x1c8], 8
call fcn.00518980
lea ecx, [esp + 0x170]
mov byte [esp + 0x1c8], 7
call fcn.00518980
lea ecx, [esp + 0x60]
mov byte [esp + 0x1c8], 2
call fcn.005ee4c0
lea ecx, [esp + 0x90]
mov byte [esp + 0x1c8], 1
call fcn.005400d0
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1c8], 0
call fcn.005400d0
lea ecx, [esp + 0x84]
mov dword [esp + 0x1c8], 0xffffffff
call fcn.005ee4c0
xor eax, eax
jmp 0x5980a7