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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x5f1133
sub esp, 0x84
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 0x10]
test edx, edx
jne 0x5f07f4
xor ecx, ecx
xor ebx, ebx
mov esi, dword [esp + 0x90]
mov ebp, dword [esp + 0x8c]
xor eax, eax
jmp 0x5f0826
mov eax, dword [edx]
mov dword [esp], ecx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
call eax
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
mov edi, ebx
movzx ebx, byte [edx + 5]
test bl, bl
jne 0x5f1120
mov dword [esp + 0x60], ebp
mov dword [esp + 0x40], esi
mov byte [esp + 0x23], al
test ecx, ecx
jne 0x5f08b5
movzx ebx, byte [edx + 4]
test bl, bl
je 0x5f08b5
test esi, esi
jne 0x5f08b5
lea eax, [0x74f1c0]
mov dword [esp], eax
call fcn.0040b440
mov edi, dword [esp + 4]
mov dword [edi + 4], 0
mov eax, dword [0x901e80]
test eax, eax
jne 0x5f0882
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
jmp 0x5f088d
mov eax, dword [esp + 0x60]
call fcn.00456ac0
mov ecx, eax
mov dword [edi + 0xc], 2
lea edx, [0x769a0a]
mov dword [edi + 8], edx
movzx eax, byte [esp + 0x23]
mov edx, dword [esp + 0x88]
mov ebp, ecx
mov esi, dword [esp + 0x40]
lea ecx, [0x7ca6fc]
mov dword [esp + 0x28], ecx
mov ebx, edi
lea edi, [esp + 0x64]
xor eax, eax
call fcn.00456d58
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0x28]
movzx ecx, byte [esp + 0x23]
jmp 0x5f08ef
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x60]
mov esi, eax
mov eax, ecx
mov ebx, edi
movzx ecx, byte [esp + 0x23]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x78]
lea ebp, [esp + 0x64]
cmp dword [ebp + 4], edi
jle 0x5f0c22
mov byte [esp + 0x23], cl
mov dword [esp], ebp
call fcn.005f1a80
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x5f09c9
mov edx, dword [esp + 0x28]
test edx, edx
je 0x5f0944
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
lea ebp, [0x769a0a]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x48]
jmp 0x5f09bf
mov ebx, dword [esp + 0x88]
movzx ebp, byte [ebx + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5f096d
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
lea ebp, [0x769a0a]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x48]
jmp 0x5f09bf
lea eax, [0x74f1c0]
mov dword [esp], eax
call fcn.0040b440
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x40]
mov dword [edi + 4], eax
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x5f0998
mov edx, dword [esp + 0x60]
mov dword [edi], edx
jmp 0x5f09a9
mov ecx, eax
mov eax, dword [esp + 0x60]
call fcn.00456ac0
mov eax, ecx
mov edx, dword [esp + 0x60]
mov dword [edi + 0xc], 2
lea ebp, [0x769a0a]
mov dword [edi + 8], ebp
lea ecx, [0x7ca6fc]
movzx ebx, byte [esp + 0x23]
jmp 0x5f0b8d
cmp ecx, 4
jge 0x5f09d2
xor edx, edx
jmp 0x5f0a03
mov dword [esp + 0x30], ecx
mov dword [esp + 0x50], eax
mov dword [esp], eax
lea ecx, [0x769dd5]
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
call fcn.00403310
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, eax
mov eax, dword [esp + 0x50]
test dl, dl
jne 0x5f0a49
mov edx, dword [esp + 0x28]
test edx, edx
je 0x5f0a17
mov eax, edx
mov ebx, dword [esp + 0x48]
jmp 0x5f0a36
mov edx, dword [esp + 0x88]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005f1e60
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, ebx
movzx edx, byte [esp + 0x23]
mov ebx, dword [esp + 0x88]
jmp 0x5f0b79
cmp ecx, 4
jb 0x5f1103
add ecx, 0xfffffffc
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.005f2310
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x5f0aab
mov edx, dword [esp + 0x28]
test edx, edx
je 0x5f0a8f
mov ebx, edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x60]
lea ebp, [0x769a0a]
mov ecx, ebx
mov edi, eax
movzx ebx, byte [esp + 0x23]
mov eax, dword [esp + 0x40]
jmp 0x5f0b8d
mov dword [esp + 0x34], edx
mov dword [esp + 0x54], ecx
movzx eax, byte [esp + 0x23]
test al, al
je 0x5f0ac3
mov eax, 1
jmp 0x5f0ae0
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.005e9b40
mov eax, dword [esp + 8]
test eax, eax
setne al
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
mov byte [esp + 0x23], al
lea ebx, [esp + 0x64]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.005f1b60
mov eax, dword [esp + 0x28]
test eax, eax
je 0x5f0b0d
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x48]
jmp 0x5f0b49
mov ebx, dword [esp + 0x88]
mov edx, dword [ebx + 0xc]
test edx, edx
jne 0x5f0b21
mov ecx, dword [esp + 0x48]
jmp 0x5f0b49
mov eax, dword [edx]
mov dword [esp], ebx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0x34]
mov dword [esp + 8], ebp
call eax
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov ebx, dword [esp + 0x88]
test eax, eax
jne 0x5f0b74
mov dword [esp], ebx
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
call fcn.005f1e60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x88]
movzx edx, byte [esp + 0x23]
lea ebp, [0x769a0a]
mov edi, ecx
mov ebx, edx
mov edx, dword [esp + 0x60]
mov ecx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], edi
mov byte [esp + 0x23], bl
mov esi, dword [esp + 0x80]
lea ebp, [esi + 1]
mov dword [esp + 0x80], ebp
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
test edx, edx
je 0x5f0bea
cmp ebx, ebp
jle 0x5f0bd4
lea edi, [ebx - 1]
cmp edi, ebp
jne 0x5f0be1
cmp ebx, ebp
jbe 0x5f10fa
lea edx, [edx + esi*8 + 8]
mov edx, dword [edx + 4]
test edx, edx
jne 0x5f0be1
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x78], edx
jmp 0x5f08d9
mov edi, dword [esp + 0x48]
jmp 0x5f08d9
mov edx, dword [esp + 0x7c]
lea ebx, [edx + 1]
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
lea edi, [ebp - 1]
cmp edi, ebx
jne 0x5f0c19
cmp ebp, ebx
jbe 0x5f10f1
lea edx, [esi + edx + 1]
cmp byte [edx], 0x2e
jne 0x5f0c19
mov dword [esp + 0x78], ebp
mov edi, dword [esp + 0x48]
jmp 0x5f08d9
test cl, cl
je 0x5f0c51
mov ecx, dword [edx + 0x14]
test ecx, ecx
je 0x5f0c51
test eax, eax
jne 0x5f0c51
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
jmp 0x5f0fc7
movzx ecx, byte [esp + 0x94]
test cl, cl
je 0x5f0c7d
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
jmp 0x5f0dd9
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
test ebp, ebp
jne 0x5f0c99
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
test cl, cl
jmp 0x5f0ce4
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x3c], eax
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], edi
lea eax, [0x7c85e8]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.004b2fd0
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
movzx eax, byte [esp + 0x94]
test al, al
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x5c]
je 0x5f0d99
movzx ecx, byte [edx + 4]
test cl, cl
je 0x5f0d8f
test eax, eax
je 0x5f0d07
mov ecx, ebp
mov edx, eax
mov edi, ebx
mov eax, esi
jmp 0x5f0da1
test esi, esi
je 0x5f0d1d
lea ecx, [esi + ebp - 1]
cmp byte [ecx], 0x2e
jne 0x5f0d1b
lea ecx, [esi - 1]
test esi, esi
jmp 0x5f0d1f
test esi, esi
mov ecx, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x44], ebp
je 0x5f0d31
cmp ecx, 0xfd
jle 0x5f0d85
lea eax, [0x74f1c0]
mov dword [esp], eax
call fcn.0040b440
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x24]
mov dword [edi + 4], eax
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x5f0d5c
mov ecx, dword [esp + 0x44]
mov dword [edi], ecx
jmp 0x5f0d6d
mov ecx, eax
mov eax, dword [esp + 0x44]
call fcn.00456ac0
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [edi + 0xc], 2
lea edx, [0x769a0a]
mov dword [edi + 8], edx
lea edx, [0x7ca6fc]
jmp 0x5f0da1
mov ecx, ebp
mov edx, eax
mov edi, ebx
mov eax, esi
jmp 0x5f0da1
mov ecx, ebp
mov edx, eax
mov edi, ebx
mov eax, esi
jmp 0x5f0da1
mov ecx, ebp
mov edx, eax
mov edi, ebx
mov eax, esi
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], edi
add esp, 0x84
ret
movzx ecx, byte [esp + 0x94]
lea ebp, [esp + 0x64]
mov eax, edx
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x78]
cmp dword [ebp + 4], esi
jle 0x5f0c7d
mov dword [esp + 0x58], ebx
mov dword [esp + 0x38], eax
mov dword [esp], ebp
call fcn.005f1a80
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
xor edx, edx
jmp 0x5f0f88
lea edx, [0x769dd5]
mov dword [esp], edx
mov dword [esp + 4], 4
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.005f2c10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x38]
test ebp, ebp
je 0x5f0e41
mov eax, ebp
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], ebx
lea ebp, [esp + 0x64]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.005f1b60
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
jmp 0x5f0e7f
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x88]
movzx esi, byte [ebp + 4]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5f0ef8
test edx, edx
jne 0x5f0ef8
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], eax
test ecx, ecx
je 0x5f0ea5
cmp ecx, 0x3f
jle 0x5f0ef8
lea eax, [0x74f1c0]
mov dword [esp], eax
call fcn.0040b440
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x2c]
mov dword [edi + 4], eax
mov eax, dword [0x901e80]
test eax, eax
jne 0x5f0ed0
mov edx, dword [esp + 0x4c]
mov dword [edi], edx
jmp 0x5f0ed9
mov eax, dword [esp + 0x4c]
call fcn.00456ac0
mov dword [edi + 0xc], 2
lea ebp, [0x769a0a]
mov dword [edi + 8], ebp
mov ebp, dword [esp + 0x88]
lea edx, [0x7ca6fc]
mov ebx, edi
nop
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
mov dword [esp + 0x80], eax
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
test edi, edi
je 0x5f0f50
cmp ecx, eax
jle 0x5f0f37
lea ebp, [ecx - 1]
cmp ebp, eax
jne 0x5f0f44
cmp ecx, eax
jbe 0x5f0fa4
lea eax, [edi + esi*8 + 8]
mov eax, dword [eax + 4]
test eax, eax
jne 0x5f0f44
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x78], eax
jmp 0x5f0dc4
mov ebp, dword [esp + 0x88]
jmp 0x5f0dc4
mov esi, dword [esp + 0x7c]
lea eax, [esi + 1]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
lea ebp, [ecx - 1]
cmp ebp, eax
jne 0x5f0f7b
cmp ecx, eax
jbe 0x5f0f9f
lea eax, [esi + edi + 1]
cmp byte [eax], 0x2e
jne 0x5f0f7b
mov dword [esp + 0x78], ecx
mov ebp, dword [esp + 0x88]
jmp 0x5f0dc4
inc edx
cmp edx, ecx
jge 0x5f0e77
jae 0x5f0fa9
lea ebx, [edx + eax]
cmp byte [ebx], 0x80
jb 0x5f0f87
jmp 0x5f0e05
call fcn.00456b40
call fcn.00456b40
mov eax, edx
call fcn.00456b40
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x48]
lea ebp, [esp + 0x64]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x78]
cmp dword [ebp + 4], ecx
jle 0x5f0c51
mov dword [esp], ebp
call fcn.005f1a80
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 0x14]
mov ecx, dword [edx]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call ecx
movzx eax, byte [esp + 8]
test al, al
je 0x5f108b
nop
mov edx, dword [esp + 0x80]
lea eax, [edx + 1]
mov dword [esp + 0x80], eax
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
test ebx, ebx
je 0x5f1053
cmp ecx, eax
jle 0x5f1046
lea ebp, [ecx - 1]
cmp ebp, eax
jne 0x5f0fb0
cmp ecx, eax
jbe 0x5f10ec
lea eax, [ebx + edx*8 + 8]
mov eax, dword [eax + 4]
test eax, eax
jne 0x5f0fb0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x78], eax
jmp 0x5f0fb0
mov edx, dword [esp + 0x7c]
lea eax, [edx + 1]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
lea ebp, [ecx - 1]
cmp ebp, eax
jne 0x5f0fb0
cmp ecx, eax
jbe 0x5f10e7
lea eax, [ebx + edx + 1]
cmp byte [eax], 0x2e
jne 0x5f0fb0
mov dword [esp + 0x78], ecx
jmp 0x5f0fb0
lea eax, [0x74f1c0]
mov dword [esp], eax
call fcn.0040b440
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x40]
mov dword [edi + 4], eax
mov eax, dword [0x901e80]
test eax, eax
jne 0x5f10b6
mov eax, dword [esp + 0x60]
mov dword [edi], eax
jmp 0x5f10bf
mov eax, dword [esp + 0x60]
call fcn.00456ac0
mov dword [edi + 0xc], 1
lea ecx, [0x7c863c]
mov dword [edi + 8], ecx
mov edx, dword [esp + 0x88]
lea ebp, [esp + 0x64]
lea eax, [0x7ca6fc]
mov ebx, edi
jmp 0x5f0c51
call fcn.00456b40
call fcn.00456b40
mov eax, ebx
mov ecx, ebp
call fcn.00456b40
mov eax, ebp
mov ecx, ebx
call fcn.00456b40
mov eax, 4
call fcn.00456ba0
dec esi
mov ebx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add ebp, esi
mov esi, ebx
test esi, esi
je 0x5f083b
cmp byte [ebp], 0x2e
je 0x5f110d
jmp 0x5f083b
call fcn.00455690
jmp fcn.005f07b0