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

Disassembly:
push 0xffffffffffffffff
push 0x62acb0
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push ebp
push esi
push edi
mov eax, dword [0x67dc50]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x70]
xor edi, edi
cmp ebp, edi
je case.0x5f2fb5.10
mov ecx, ebp
call fcn.004b0050
test eax, eax
je case.0x5f2fb5.10
mov esi, dword [esp + 0x74]
cmp dword [esi], edi
jne 0x5f2ee7
mov ecx, ebp
call fcn.004a8b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
cmp eax, 0xcd
je 0x5f2edd
mov ecx, ebp
call fcn.004a8b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
cmp eax, 0xce
je 0x5f2edd
lea ecx, [esp + 0x70]
push ecx
mov ecx, ebx
mov dword [esp + 0x74], 9
call fcn.005f1f00
cmp al, 2
jne 0x5f2ee7
jmp case.0x5f2fb5.10
cmp byte [ebx + 0x49], 1
je case.0x5f2fb5.10
mov edx, dword [ebp]
mov eax, dword [edx + 0x38]
mov ecx, ebp
call eax
cmp eax, 9
je 0x5f2f14
mov edx, dword [ebp]
mov eax, dword [edx + 0x38]
mov ecx, ebp
call eax
cmp eax, 0x27
ja case.0x5f2fb5.10
cmp byte [eax + ebx + 0x40], 1
je case.0x5f2fb5.10
mov edx, dword [ebp]
mov eax, dword [edx + 0x38]
mov ecx, ebp
call eax
push ebp
mov ecx, ebx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x28], ebp
call fcn.005f23e0
cmp dword [esi], edi
jne 0x5f2f9a
mov edx, dword [ebp]
mov eax, dword [edx + 0x38]
mov ecx, ebp
mov dword [esp + 0x70], edi
call eax
dec eax
cmp eax, 0x1d
ja case.0x5f2f4b.10
movzx ecx, byte [eax + 0x5f35b0]
jmp dword [ecx*4 + 0x5f35a4]
mov edx, dword [ebp]
mov edx, dword [edx + 0xcc]
lea eax, [esp + 0x70]
push eax
mov ecx, ebp
call edx
lea eax, [esp + 0x70]
push eax
mov ecx, ebx
call fcn.005f2290
test eax, eax
jne case.0x5f2f4b.10
jmp case.0x5f2fb5.10
lea ecx, [esp + 0x70]
push ecx
mov ecx, ebx
mov dword [esp + 0x74], edi
call fcn.005f2290
test eax, eax
je case.0x5f2fb5.10
mov dx, word [esp + 0x70]
mov word [ebx + 0x38], dx
mov eax, dword [ebp]
mov edx, dword [eax + 0x38]
mov ecx, ebp
call edx
dec eax
cmp eax, 0x1d
ja case.0x5f2fb5.10
movzx eax, byte [eax + 0x5f35e4]
jmp dword [eax*4 + 0x5f35d0]
lea ecx, [esp + 0x28]
call fcn.00513f30
push 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x64], 0
call fcn.00430f00
mov ecx, dword [esp + 0x68]
push ecx
mov esi, eax
call fcn.005f7a80
add esp, 4
push 0
lea ecx, [esp + 0x2c]
mov dword [esi], eax
call fcn.00430f00
cmp dword [eax], 0
je 0x5f30ac
push 0
lea ecx, [esp + 0x2c]
call fcn.00430f00
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x5c]
call eax
add eax, 0xfffffff9
cmp eax, 0x23
ja case.0x5f3020.8
movzx ecx, byte [eax + 0x5f3614]
jmp dword [ecx*4 + 0x5f3604]
call fcn.005e9fa0
cmp eax, 0x201
jne case.0x5f3020.8
push 0
lea ecx, [esp + 0x2c]
call fcn.00430f00
mov ecx, dword [eax]
call fcn.00516480
jmp case.0x5f3020.8
call fcn.005e9fa0
cmp eax, 0x201
jne case.0x5f3020.8
push 0
lea ecx, [esp + 0x2c]
call fcn.00430f00
mov eax, dword [eax]
cmp dword [eax + 0xc], 0
je case.0x5f3020.8
push 0
lea ecx, [esp + 0x2c]
call fcn.00430f00
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
jmp 0x5f3091
call fcn.005e9fa0
cmp eax, 0x201
jne case.0x5f3020.8
push 0
lea ecx, [esp + 0x2c]
call fcn.00430f00
mov ecx, dword [eax]
call fcn.0057f1c0
mov edx, dword [ebx]
mov edx, dword [edx]
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call edx
lea ecx, [esp + 0x28]
call fcn.00513f80
lea ecx, [esp + 0x28]
mov dword [esp + 0x60], 0xffffffff
call fcn.0048f310
jmp case.0x5f2fb5.10
mov ecx, ebp
call fcn.0040c500
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x1c]
push ecx
push eax
mov eax, dword [esp + 0x70]
push edx
push eax
mov ecx, ebx
mov dword [esp + 0x2c], 1
call fcn.005f2e40
jmp case.0x5f2fb5.10
mov ecx, dword [ebx + 0x78]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push ecx
push edx
push eax
call fcn.005f7ce0
add esp, 0xc
mov esi, eax
push esi
mov ecx, ebx
call fcn.005f2d00
test esi, esi
je case.0x5f2fb5.10
mov ecx, esi
call fcn.004b8ee0
push esi
jmp 0x5f3580
cmp dword [ebx + 0x3c], 1
jne 0x5f33f0
mov ecx, ebp
call fcn.0046d010
push 0
mov ecx, eax
call fcn.004b5e50
mov dword [esp + 0x70], edi
test eax, eax
je 0x5f3164
lea ecx, [esp + 0x70]
push ecx
mov ecx, eax
call fcn.004c7900
lea edx, [esp + 0x70]
push edx
mov ecx, ebx
call fcn.005f2290
test eax, eax
je case.0x5f2fb5.10
mov ax, word [esp + 0x70]
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x30]
mov word [ebx + 0x38], ax
movzx esi, word [ebp + 0x5c]
movzx eax, word [ebp + 0x5e]
or edi, 0xffffffff
cmp esi, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], edx
jge 0x5f31b8
lea ebx, [ebx]
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x20]
movzx ecx, si
push edx
push eax
mov dword [esp + 0x28], ecx
call fcn.005f4b80
mov edi, eax
add esp, 8
test edi, edi
jge 0x5f31b8
movzx ecx, word [ebp + 0x5e]
inc esi
cmp esi, ecx
jl 0x5f3190
movzx esi, word [ebp + 0x5e]
movzx edx, word [ebp + 0x5c]
cmp esi, edx
mov dword [esp + 0x6c], 0xffffffff
jle 0x5f31fa
lea esp, [esp]
mov edx, dword [esp + 0x68]
lea ecx, [esp + 0x24]
movzx eax, si
push ecx
push edx
mov dword [esp + 0x2c], eax
call fcn.005f4b80
add esp, 8
mov dword [esp + 0x6c], eax
test eax, eax
jge 0x5f31fa
movzx eax, word [ebp + 0x5c]
dec esi
cmp esi, eax
jg 0x5f31d0
test edi, edi
jl case.0x5f2fb5.10
cmp dword [esp + 0x6c], 0
jl case.0x5f2fb5.10
cmp edi, dword [esp + 0x6c]
je case.0x5f2fb5.10
mov ecx, dword [esp + 0x6c]
cmp edi, ecx
jle 0x5f3229
mov eax, edi
mov edi, ecx
mov ecx, eax
mov dword [esp + 0x6c], ecx
cmp edi, ecx
mov dword [esp + 0x74], edi
jge case.0x5f2fb5.10
lea edi, [ebx + 0x14]
jmp 0x5f3240
xor esi, esi
cmp dword [edi], esi
jle 0x5f3318
cmp esi, dword [edi]
jge 0x5f3256
mov ecx, dword [edi + 8]
lea eax, [ecx + esi*4]
jmp 0x5f325e
push esi
mov ecx, edi
call fcn.005ee1f0
mov edx, dword [eax]
mov ecx, dword [edx]
call fcn.00471270
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x40]
call eax
cmp eax, 1
jne 0x5f32a4
cmp esi, dword [edi]
jge 0x5f3281
mov ecx, dword [edi + 8]
lea eax, [ecx + esi*4]
jmp 0x5f3289
push esi
mov ecx, edi
call fcn.005ee1f0
mov edx, dword [eax]
mov ecx, dword [edx]
call fcn.00471270
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
movzx ecx, ax
cmp ecx, dword [esp + 0x74]
je 0x5f32ab
inc esi
cmp esi, dword [edi]
jl 0x5f324e
jmp 0x5f3318
cmp dword [ebx + 0x208], 1
jne 0x5f3330
mov ecx, ebp
call fcn.004a8b00
test eax, eax
je 0x5f3330
mov ecx, ebp
call fcn.004a8b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
cmp eax, 0xcd
je 0x5f32ed
mov ecx, ebp
call fcn.004a8b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
cmp eax, 0xce
jne 0x5f3330
push esi
mov ecx, edi
call fcn.00430f00
mov eax, dword [eax]
cmp dword [eax + 8], 0
je 0x5f3330
push esi
mov ecx, edi
call fcn.00430f00
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x68]
push eax
call fcn.0042dd80
test eax, eax
jne 0x5f3330
mov eax, dword [esp + 0x74]
inc eax
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x74], eax
jl 0x5f3240
jmp case.0x5f2fb5.10
cmp esi, dword [edi]
jge 0x5f333c
mov ecx, dword [edi + 8]
lea eax, [ecx + esi*4]
jmp 0x5f3344
push esi
mov ecx, edi
call fcn.005ee1f0
mov edx, dword [eax]
mov eax, dword [edx]
mov dword [ebx + 0x2c], eax
cmp esi, dword [edi]
jge 0x5f3357
mov ecx, dword [edi + 8]
lea eax, [ecx + esi*4]
jmp 0x5f335f
push esi
mov ecx, edi
call fcn.005ee1f0
mov edx, dword [eax]
mov eax, dword [edx]
mov ecx, dword [ebx + 4]
push 3
mov dword [ebx + 0x30], eax
call fcn.004efd90
mov ecx, eax
call fcn.004df4e0
mov ecx, eax
call fcn.004dee40
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x58]
call eax
push 0
push 0
lea ecx, [esp + 0x1c]
push ecx
push eax
mov eax, dword [esp + 0x78]
lea edx, [ebx + 0x1f4]
push edx
push eax
mov dword [esp + 0x2c], 0
call fcn.005f7780
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov esi, eax
test ecx, ecx
je 0x5f33c1
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
call eax
mov dword [ebx + 0x30], eax
push esi
mov ecx, ebx
call fcn.005f2d00
test esi, esi
je 0x5f33dd
mov ecx, esi
call fcn.004b8ee0
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov dword [ebx + 0x2c], ecx
mov dword [ebx + 0x30], edx
jmp case.0x5f2fb5.10
mov esi, dword [esp + 0x68]
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x70]
mov edi, ebx
mov ecx, dword [edi + 0x78]
push ecx
lea edx, [esp + 0x7c]
push edx
push eax
lea ecx, [edi + 0x1f4]
push ecx
push esi
call fcn.005f7780
add esp, 0x18
cmp dword [edi + 0x78], 1
mov ebx, eax
jne 0x5f34e3
cmp dword [esp + 0x18], 1
jne 0x5f34e3
mov edx, dword [ebp]
mov edx, dword [edx + 0x5c]
lea eax, [esp + 0x28]
push eax
mov ecx, ebp
call edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x38]
push esi
push ecx
call fcn.005f7c60
fld qword [0x63d858]
mov edx, dword [eax]
mov dword [esp + 0x34], edx
mov eax, dword [eax + 4]
fst qword [esp + 0x5c]
lea ecx, [esp + 0x34]
fstp qword [esp + 0x54]
push ecx
lea edx, [esp + 0x58]
push edx
mov dword [esp + 0x40], eax
call fcn.005f5920
add esp, 0x14
lea eax, [esp + 0x3c]
push eax
mov ecx, ebp
call fcn.0046d010
mov ecx, eax
call fcn.004b6050
fld qword [esp + 0x50]
mov eax, dword [eax]
sub esp, 0x10
fstp qword [esp + 8]
mov dword [esp + 0x70], 1
fld qword [esp + 0x58]
fstp qword [esp]
push eax
push 0xd867
push 0x698028
call fcn.005f5300
add esp, 0x1c
lea ecx, [esp + 0x3c]
mov dword [esp + 0x60], 0xffffffff
call fcn.005e8710
mov ecx, 0x698028
call fcn.005f5700
test ebx, ebx
je case.0x5f2fb5.10
mov ecx, dword [esp + 0x74]
test ecx, ecx
jne 0x5f3504
mov ecx, dword [esp + 0x6c]
call fcn.00471270
mov ecx, dword [esp + 0x74]
mov esi, eax
jmp 0x5f3506
mov esi, ecx
test esi, esi
je 0x5f3562
mov edx, dword [esi]
mov edi, dword [ebp]
mov eax, dword [edx + 0x3c]
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
mov dword [esp + 0x6c], 0
add edi, 0xc8
call eax
mov edx, dword [esi]
movzx ecx, ax
mov eax, dword [edx + 0x40]
push ecx
mov ecx, esi
call eax
mov edx, dword [edi]
push eax
mov ecx, ebp
call edx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x68]
push eax
call fcn.005f2290
test eax, eax
je 0x5f3578
mov cx, word [esp + 0x68]
mov edx, dword [esp + 0x14]
mov word [edx + 0x38], cx
mov ecx, dword [esp + 0x74]
mov edi, edx
test ecx, ecx
je 0x5f3570
mov eax, dword [ecx]
mov edx, dword [eax + 0x58]
call edx
mov dword [edi + 0x30], eax
push ebx
mov ecx, edi
call fcn.005f2d00
mov ecx, ebx
call fcn.004b8ee0
push ebx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0x10