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

Disassembly:
push 0xffffffffffffffff
push 0x62ecc0
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push ebp
push esi
push edi
mov eax, dword [0x682d00]
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.0x5f6915.10
mov ecx, ebp
call fcn.004b3240
test eax, eax
je case.0x5f6915.10
mov esi, dword [esp + 0x74]
cmp dword [esi], edi
jne 0x5f6847
mov ecx, ebp
call fcn.00479f10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
cmp eax, 0xcd
je 0x5f683d
mov ecx, ebp
call fcn.00479f10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
cmp eax, 0xce
je 0x5f683d
lea ecx, [esp + 0x70]
push ecx
mov ecx, ebx
mov dword [esp + 0x74], 9
call fcn.005f5860
cmp al, 2
jne 0x5f6847
jmp case.0x5f6915.10
cmp byte [ebx + 0x49], 1
je case.0x5f6915.10
mov edx, dword [ebp]
mov eax, dword [edx + 0x38]
mov ecx, ebp
call eax
cmp eax, 9
je 0x5f6874
mov edx, dword [ebp]
mov eax, dword [edx + 0x38]
mov ecx, ebp
call eax
cmp eax, 0x27
ja case.0x5f6915.10
cmp byte [eax + ebx + 0x40], 1
je case.0x5f6915.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.005f5d40
cmp dword [esi], edi
jne 0x5f68fa
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.0x5f68ab.10
movzx ecx, byte [eax + 0x5f6f10]
jmp dword [ecx*4 + 0x5f6f04]
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.005f5bf0
test eax, eax
jne case.0x5f68ab.10
jmp case.0x5f6915.10
lea ecx, [esp + 0x70]
push ecx
mov ecx, ebx
mov dword [esp + 0x74], edi
call fcn.005f5bf0
test eax, eax
je case.0x5f6915.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.0x5f6915.10
movzx eax, byte [eax + 0x5f6f44]
jmp dword [eax*4 + 0x5f6f30]
lea ecx, [esp + 0x28]
call fcn.00516940
push 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x64], 0
call fcn.005f5260
mov ecx, dword [esp + 0x68]
push ecx
mov esi, eax
call fcn.005fb420
add esp, 4
push 0
lea ecx, [esp + 0x2c]
mov dword [esi], eax
call fcn.005f5260
cmp dword [eax], 0
je 0x5f6a0c
push 0
lea ecx, [esp + 0x2c]
call fcn.005f5260
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x5c]
call eax
add eax, 0xfffffff9
cmp eax, 0x23
ja case.0x5f6980.8
movzx ecx, byte [eax + 0x5f6f74]
jmp dword [ecx*4 + 0x5f6f64]
call fcn.005ed680
cmp eax, 0x201
jne case.0x5f6980.8
push 0
lea ecx, [esp + 0x2c]
call fcn.005f5260
mov ecx, dword [eax]
call fcn.00519c70
jmp case.0x5f6980.8
call fcn.005ed680
cmp eax, 0x201
jne case.0x5f6980.8
push 0
lea ecx, [esp + 0x2c]
call fcn.005f5260
mov eax, dword [eax]
cmp dword [eax + 0xc], 0
je case.0x5f6980.8
push 0
lea ecx, [esp + 0x2c]
call fcn.005f5260
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
jmp 0x5f69f1
call fcn.005ed680
cmp eax, 0x201
jne case.0x5f6980.8
push 0
lea ecx, [esp + 0x2c]
call fcn.005f5260
mov ecx, dword [eax]
call fcn.00596e10
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.00516990
lea ecx, [esp + 0x28]
mov dword [esp + 0x60], 0xffffffff
call fcn.004925b0
jmp case.0x5f6915.10
mov ecx, ebp
call fcn.004dbbc0
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.005f67a0
jmp case.0x5f6915.10
mov ecx, dword [ebx + 0x78]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push ecx
push edx
push eax
call fcn.005fb680
add esp, 0xc
mov esi, eax
push esi
mov ecx, ebx
call fcn.005f6660
test esi, esi
je case.0x5f6915.10
mov ecx, esi
call fcn.004bc1a0
push esi
jmp 0x5f6ee0
cmp dword [ebx + 0x3c], 1
jne 0x5f6d50
mov ecx, ebp
call fcn.004c0690
push 0
mov ecx, eax
call fcn.004b9190
mov dword [esp + 0x70], edi
test eax, eax
je 0x5f6ac4
lea ecx, [esp + 0x70]
push ecx
mov ecx, eax
call fcn.004ca8d0
lea edx, [esp + 0x70]
push edx
mov ecx, ebx
call fcn.005f5bf0
test eax, eax
je case.0x5f6915.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 0x5f6b18
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.005f84e0
mov edi, eax
add esp, 8
test edi, edi
jge 0x5f6b18
movzx ecx, word [ebp + 0x5e]
inc esi
cmp esi, ecx
jl 0x5f6af0
movzx esi, word [ebp + 0x5e]
movzx edx, word [ebp + 0x5c]
cmp esi, edx
mov dword [esp + 0x6c], 0xffffffff
jle 0x5f6b5a
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.005f84e0
add esp, 8
mov dword [esp + 0x6c], eax
test eax, eax
jge 0x5f6b5a
movzx eax, word [ebp + 0x5c]
dec esi
cmp esi, eax
jg 0x5f6b30
test edi, edi
jl case.0x5f6915.10
cmp dword [esp + 0x6c], 0
jl case.0x5f6915.10
cmp edi, dword [esp + 0x6c]
je case.0x5f6915.10
mov ecx, dword [esp + 0x6c]
cmp edi, ecx
jle 0x5f6b89
mov eax, edi
mov edi, ecx
mov ecx, eax
mov dword [esp + 0x6c], ecx
cmp edi, ecx
mov dword [esp + 0x74], edi
jge case.0x5f6915.10
lea edi, [ebx + 0x14]
jmp 0x5f6ba0
xor esi, esi
cmp dword [edi], esi
jle 0x5f6c78
cmp esi, dword [edi]
jge 0x5f6bb6
mov ecx, dword [edi + 8]
lea eax, [ecx + esi*4]
jmp 0x5f6bbe
push esi
mov ecx, edi
call fcn.005f1b40
mov edx, dword [eax]
mov ecx, dword [edx]
call fcn.00475ce0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x40]
call eax
cmp eax, 1
jne 0x5f6c04
cmp esi, dword [edi]
jge 0x5f6be1
mov ecx, dword [edi + 8]
lea eax, [ecx + esi*4]
jmp 0x5f6be9
push esi
mov ecx, edi
call fcn.005f1b40
mov edx, dword [eax]
mov ecx, dword [edx]
call fcn.00475ce0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
movzx ecx, ax
cmp ecx, dword [esp + 0x74]
je 0x5f6c0b
inc esi
cmp esi, dword [edi]
jl 0x5f6bae
jmp 0x5f6c78
cmp dword [ebx + 0x208], 1
jne 0x5f6c90
mov ecx, ebp
call fcn.00479f10
test eax, eax
je 0x5f6c90
mov ecx, ebp
call fcn.00479f10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
cmp eax, 0xcd
je 0x5f6c4d
mov ecx, ebp
call fcn.00479f10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
cmp eax, 0xce
jne 0x5f6c90
push esi
mov ecx, edi
call fcn.005f5260
mov eax, dword [eax]
cmp dword [eax + 8], 0
je 0x5f6c90
push esi
mov ecx, edi
call fcn.005f5260
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x68]
push eax
call fcn.004319a0
test eax, eax
jne 0x5f6c90
mov eax, dword [esp + 0x74]
inc eax
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x74], eax
jl 0x5f6ba0
jmp case.0x5f6915.10
cmp esi, dword [edi]
jge 0x5f6c9c
mov ecx, dword [edi + 8]
lea eax, [ecx + esi*4]
jmp 0x5f6ca4
push esi
mov ecx, edi
call fcn.005f1b40
mov edx, dword [eax]
mov eax, dword [edx]
mov dword [ebx + 0x2c], eax
cmp esi, dword [edi]
jge 0x5f6cb7
mov ecx, dword [edi + 8]
lea eax, [ecx + esi*4]
jmp 0x5f6cbf
push esi
mov ecx, edi
call fcn.005f1b40
mov edx, dword [eax]
mov eax, dword [edx]
mov ecx, dword [ebx + 4]
push 3
mov dword [ebx + 0x30], eax
call fcn.004f27c0
mov ecx, eax
call fcn.0043a2c0
mov ecx, eax
call fcn.004e1bd0
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.005fb120
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov esi, eax
test ecx, ecx
je 0x5f6d21
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
call eax
mov dword [ebx + 0x30], eax
push esi
mov ecx, ebx
call fcn.005f6660
test esi, esi
je 0x5f6d3d
mov ecx, esi
call fcn.004bc1a0
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.0x5f6915.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.005fb120
add esp, 0x18
cmp dword [edi + 0x78], 1
mov ebx, eax
jne 0x5f6e43
cmp dword [esp + 0x18], 1
jne 0x5f6e43
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.005fb600
fld qword [0x6424d0]
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.005f9290
add esp, 0x14
lea eax, [esp + 0x3c]
push eax
mov ecx, ebp
call fcn.004c0690
mov ecx, eax
call fcn.004b9390
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 0x69d0e0
call fcn.005f8c60
add esp, 0x1c
lea ecx, [esp + 0x3c]
mov dword [esp + 0x60], 0xffffffff
call fcn.005ebd80
mov ecx, 0x69d0e0
call fcn.005f9070
test ebx, ebx
je case.0x5f6915.10
mov ecx, dword [esp + 0x74]
test ecx, ecx
jne 0x5f6e64
mov ecx, dword [esp + 0x6c]
call fcn.00475ce0
mov ecx, dword [esp + 0x74]
mov esi, eax
jmp 0x5f6e66
mov esi, ecx
test esi, esi
je 0x5f6ec2
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.005f5bf0
test eax, eax
je 0x5f6ed8
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 0x5f6ed0
mov eax, dword [ecx]
mov edx, dword [eax + 0x58]
call edx
mov dword [edi + 0x30], eax
push ebx
mov ecx, edi
call fcn.005f6660
mov ecx, ebx
call fcn.004bc1a0
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