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

Disassembly:
sub esp, 0x9c
mov eax, dword [0x43d504]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa0]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0xb4]
xor esi, esi
lea ecx, [esp + 0x13]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], esi
mov word [esp + 0x90], si
call fcn.004123f0
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x17]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov byte [esp + 0x3b], 0
mov byte [esp + 0x3a], 0
call fcn.004128d0
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x40f80b
mov ecx, dword [esp + 0x1c]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40f80b
mov byte [esp + 0x37], 1
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x17]
call fcn.004129d0
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x40f841
mov ecx, dword [esp + 0x2c]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40f841
mov byte [esp + 0x36], 1
lea ecx, [esp + 0x70]
push ecx
mov ecx, edi
call fcn.00409f90
cmp dword [esp + 0x84], esi
je 0x40fa81
xor edi, edi
xor ebp, ebp
lea ebx, [edi + 8]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x40fb0c
mov esi, dword [esp + 0x1c]
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x40fb0c
mov eax, dword [esp + 0x74]
add ecx, ebp
cmp dword [esp + 0x88], ebx
jae 0x40f8a1
lea eax, [esp + 0x74]
mov edx, dword [esp + 0x84]
push edx
push eax
mov eax, dword [ecx + 0x14]
push eax
push 0
call fcn.004027ff
test eax, eax
je 0x40f8c1
add edi, 1
add ebp, 0x1c
jmp 0x40f861
mov ebx, dword [esp + 0x28]
xor ebp, ebp
xor edi, edi
lea esp, [esp]
test ebx, ebx
je 0x40fa85
mov ecx, dword [esp + 0x2c]
sub ecx, ebx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jae 0x40fa85
mov esi, dword [ebx + edi + 0x14]
mov ecx, 8
cmp dword [ebx + edi + 0x18], ecx
jb 0x40f90e
mov eax, dword [ebx + edi + 4]
jmp 0x40f912
lea eax, [ebx + edi + 4]
mov edx, dword [esp + 0x84]
cmp edx, esi
jb 0x40f91f
mov edx, esi
cmp dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x74]
jae 0x40f930
lea ecx, [esp + 0x74]
test edx, edx
jbe 0x40f94b
mov bx, word [ecx]
cmp bx, word [eax]
jne 0x40f96e
add ecx, 2
add eax, 2
sub edx, 1
jne 0x40f934
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x84]
cmp eax, esi
jb 0x40f963
xor edx, edx
cmp eax, esi
setne dl
mov eax, edx
test eax, eax
je 0x40f984
add ebp, 1
add edi, 0x1c
jmp 0x40f8d0
mov cx, bx
cmp cx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
je 0x40f947
mov ebx, dword [esp + 0x28]
jmp 0x40f95f
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x70]
push eax
call fcn.004072f0
test al, al
je 0x40fa81
mov esi, dword [esp + 0x40]
xor edi, edi
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x78]
mov ebx, 7
push ecx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], edi
mov ecx, esi
mov word [esi + 4], di
call fcn.0040176b
mov ebp, 8
cmp dword [esp + 0x88], ebp
jb 0x40f9d9
mov edx, dword [esp + 0x74]
push edx
call fcn.00419b13
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
je 0x40fa16
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x28]
push edx
push ecx
push eax
call fcn.00403c1b
mov edx, dword [esp + 0x38]
push edx
call fcn.00419b13
add esp, 0x14
mov eax, dword [esp + 0x18]
cmp eax, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
je 0x40fa4c
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
push edx
push ecx
push eax
call fcn.00403c1b
mov edx, dword [esp + 0x28]
push edx
call fcn.00419b13
add esp, 0x14
lea ecx, [esp + 0x13]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
call sub.ole32.dll_CoUninitialize
cmp dword [esp + 0xa4], ebp
jb 0x40fa7a
mov eax, dword [esp + 0x90]
push eax
call fcn.00419b13
add esp, 4
mov eax, esi
jmp 0x41013a
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x50], edi
test ecx, ecx
mov dword [esp + 0x38], edi
je 0x40fcf3
mov esi, dword [esp + 0x1c]
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x40fcf3
mov edx, dword [esp + 0x50]
add ecx, edx
xor esi, esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], esi
xor edi, edi
test ebx, ebx
mov dword [esp + 0x48], edi
je 0x40fba7
mov ecx, dword [esp + 0x2c]
sub ecx, ebx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x40fba7
cmp dword [ebx + edi + 0x18], 8
mov ebp, dword [ebx + edi + 0x14]
jb 0x40fb15
mov eax, dword [ebx + edi + 4]
jmp 0x40fb19
mov ebx, dword [esp + 0x28]
jmp 0x40fa89
lea eax, [ebx + edi + 4]
mov ecx, dword [esp + 0x44]
mov esi, dword [ecx + 0x14]
mov ecx, esi
cmp ecx, esi
jae 0x40fb26
cmp esi, ebp
mov edx, esi
jb 0x40fb2e
mov edx, ebp
mov ecx, dword [esp + 0x44]
cmp dword [ecx + 0x18], 8
jb 0x40fb3d
mov ecx, dword [ecx + 4]
jmp 0x40fb40
add ecx, 4
test edx, edx
jbe 0x40fb5b
mov di, word [ecx]
cmp di, word [eax]
jne 0x40fb91
add ecx, 2
add eax, 2
sub edx, 1
jne 0x40fb44
mov edi, dword [esp + 0x48]
cmp esi, ebp
jb 0x40fb80
xor eax, eax
cmp esi, ebp
setne al
test eax, eax
jne 0x40fb80
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
push ebx
call fcn.004072f0
test al, al
jne 0x40fbbc
mov ebx, dword [esp + 0x28]
add dword [esp + 0x4c], 1
mov esi, dword [esp + 0x4c]
add edi, 0x1c
jmp 0x40face
mov dx, di
cmp dx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
je 0x40fb57
mov edi, dword [esp + 0x48]
jmp 0x40fb66
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
add edi, 1
add dword [esp + 0x50], 0x1c
jmp 0x40fa8f
push 0xffffffffffffffff
xor esi, esi
push esi
push ebx
lea ecx, [esp + 0x98]
call fcn.0040176b
mov ebx, dword [esp + 0x40]
push 0xffffffffffffffff
push esi
lea eax, [esp + 0x94]
mov ebp, 7
mov dword [ebx + 0x18], ebp
mov dword [ebx + 0x14], esi
push eax
mov ecx, ebx
mov word [ebx + 4], si
call fcn.0040176b
cmp dword [esp + 0x88], 8
jb 0x40fc0a
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00419b13
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, esi
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], esi
mov word [esp + 0x74], si
je 0x40fc67
mov edi, dword [esp + 0x2c]
cmp eax, edi
je 0x40fc5c
lea esi, [eax + 0x18]
xor eax, eax
cmp dword [esi], 8
jb 0x40fc45
mov edx, dword [esi - 0x14]
push edx
call fcn.00419b13
add esp, 4
xor eax, eax
mov dword [esi], ebp
mov dword [esi - 4], eax
mov word [esi - 0x14], ax
add esi, 0x1c
lea ecx, [esi - 0x18]
cmp ecx, edi
jne 0x40fc32
mov eax, dword [esp + 0x28]
push eax
call fcn.00419b13
add esp, 4
xor esi, esi
mov eax, dword [esp + 0x18]
cmp eax, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
je 0x40fcbd
mov edi, dword [esp + 0x1c]
cmp eax, edi
je 0x40fcb2
lea esi, [eax + 0x18]
xor eax, eax
cmp dword [esi], 8
jb 0x40fc9b
mov edx, dword [esi - 0x14]
push edx
call fcn.00419b13
add esp, 4
xor eax, eax
mov dword [esi], ebp
mov dword [esi - 4], eax
mov word [esi - 0x14], ax
add esi, 0x1c
lea ecx, [esi - 0x18]
cmp ecx, edi
jne 0x40fc88
mov eax, dword [esp + 0x18]
push eax
call fcn.00419b13
add esp, 4
xor esi, esi
lea ecx, [esp + 0x13]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
call sub.ole32.dll_CoUninitialize
cmp dword [esp + 0xa4], 8
jb 0x40fcec
mov edx, dword [esp + 0x90]
push edx
call fcn.00419b13
add esp, 4
mov eax, ebx
jmp 0x41013a
xor edi, edi
xor ebp, ebp
jmp 0x40fd00
test ecx, ecx
mov ebx, dword [esp + 0x1c]
je 0x40fe7f
mov esi, ebx
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x40fe7f
lea esi, [ecx + ebp]
mov ecx, dword [esp + 0x3c]
push esi
call fcn.004072f0
test al, al
jne 0x40fd48
mov ecx, dword [esp + 0x18]
add edi, 1
add ebp, 0x1c
jmp 0x40fd00
push 0xffffffffffffffff
xor ebx, ebx
push ebx
push esi
lea ecx, [esp + 0x98]
call fcn.0040176b
mov ebp, dword [esp + 0x40]
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x94]
mov esi, 7
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x14], ebx
push eax
mov ecx, ebp
mov word [ebp + 4], bx
call fcn.0040176b
cmp dword [esp + 0x88], 8
jb 0x40fd96
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00419b13
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebx
mov word [esp + 0x74], bx
je 0x40fdf5
mov edi, dword [esp + 0x2c]
cmp eax, edi
je 0x40fdec
lea esi, [eax + 0x18]
lea esp, [esp]
cmp dword [esi], 8
jb 0x40fdd1
mov edx, dword [esi - 0x14]
push edx
call fcn.00419b13
add esp, 4
mov dword [esi], 7
mov dword [esi - 4], ebx
mov word [esi - 0x14], bx
add esi, 0x1c
lea eax, [esi - 0x18]
cmp eax, edi
jne 0x40fdc0
mov eax, dword [esp + 0x28]
push eax
call fcn.00419b13
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
je 0x40fe49
mov edi, dword [esp + 0x1c]
cmp eax, edi
je 0x40fe40
lea esi, [eax + 0x18]
cmp dword [esi], 8
jb 0x40fe25
mov ecx, dword [esi - 0x14]
push ecx
call fcn.00419b13
add esp, 4
mov dword [esi], 7
mov dword [esi - 4], ebx
mov word [esi - 0x14], bx
add esi, 0x1c
lea edx, [esi - 0x18]
cmp edx, edi
jne 0x40fe14
mov eax, dword [esp + 0x18]
push eax
call fcn.00419b13
add esp, 4
lea ecx, [esp + 0x13]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
call sub.ole32.dll_CoUninitialize
cmp dword [esp + 0xa4], 8
jb 0x40fe78
mov eax, dword [esp + 0x90]
push eax
call fcn.00419b13
add esp, 4
mov eax, ebp
jmp 0x41013a
xor esi, esi
xor edi, edi
xor ebp, ebp
cmp ecx, esi
je 0x410008
sub ebx, ecx
mov esi, ebx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x410006
lea esi, [ecx + ebp]
mov ecx, dword [esp + 0x3c]
push esi
call fcn.00407130
test al, al
jne 0x40fecf
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
add edi, 1
add ebp, 0x1c
xor esi, esi
jmp 0x40fe85
push 0xffffffffffffffff
xor ebx, ebx
push ebx
push esi
lea ecx, [esp + 0x98]
call fcn.0040176b
mov ebp, dword [esp + 0x40]
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x94]
mov esi, 7
push ecx
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x14], ebx
mov ecx, ebp
mov word [ebp + 4], bx
call fcn.0040176b
cmp dword [esp + 0x88], 8
jb 0x40ff1d
mov edx, dword [esp + 0x74]
push edx
call fcn.00419b13
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebx
mov word [esp + 0x74], bx
je 0x40ff78
mov edi, dword [esp + 0x2c]
cmp eax, edi
je 0x40ff6f
lea esi, [eax + 0x18]
cmp dword [esi], 8
jb 0x40ff54
mov eax, dword [esi - 0x14]
push eax
call fcn.00419b13
add esp, 4
mov dword [esi], 7
mov dword [esi - 4], ebx
mov word [esi - 0x14], bx
add esi, 0x1c
lea ecx, [esi - 0x18]
cmp ecx, edi
jne 0x40ff43
mov eax, dword [esp + 0x28]
push eax
call fcn.00419b13
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
je 0x40ffcc
mov edi, dword [esp + 0x1c]
cmp eax, edi
je 0x40ffc3
lea esi, [eax + 0x18]
cmp dword [esi], 8
jb 0x40ffa8
mov edx, dword [esi - 0x14]
push edx
call fcn.00419b13
add esp, 4
mov dword [esi], 7
mov dword [esi - 4], ebx
mov word [esi - 0x14], bx
add esi, 0x1c
lea eax, [esi - 0x18]
cmp eax, edi
jne 0x40ff97
mov eax, dword [esp + 0x18]
push eax
call fcn.00419b13
add esp, 4
lea ecx, [esp + 0x13]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
call sub.ole32.dll_CoUninitialize
cmp dword [esp + 0xa4], 8
jb 0x40fe78
mov ecx, dword [esp + 0x90]
push ecx
call fcn.00419b13
add esp, 4
mov eax, ebp
jmp 0x41013a
xor esi, esi
cmp byte [esp + 0x37], 0
jne 0x410057
cmp byte [esp + 0x36], 0
jne 0x410057
cmp dword [esp + 0xa0], esi
jne 0x410057
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x54]
push edx
call fcn.00409f90
push 0xffffffffffffffff
push esi
push eax
lea ecx, [esp + 0x98]
call fcn.0040176b
mov ebp, 8
cmp dword [esp + 0x6c], ebp
jb 0x41005c
mov eax, dword [esp + 0x58]
push eax
call fcn.00419b13
add esp, 4
jmp 0x41005c
mov ebp, 8
mov edi, dword [esp + 0x40]
push 0xffffffffffffffff
push esi
lea ecx, [esp + 0x94]
mov ebx, 7
push ecx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x14], esi
mov ecx, edi
mov word [edi + 4], si
call fcn.0040176b
cmp dword [esp + 0x88], ebp
jb 0x410097
mov edx, dword [esp + 0x74]
push edx
call fcn.00419b13
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], esi
mov word [esp + 0x74], si
je 0x4100d4
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x28]
push edx
push ecx
push eax
call fcn.00403c1b
mov edx, dword [esp + 0x38]
push edx
call fcn.00419b13
add esp, 0x14
mov eax, dword [esp + 0x18]
cmp eax, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
je 0x41010a
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
push edx
push ecx
push eax
call fcn.00403c1b
mov edx, dword [esp + 0x28]
push edx
call fcn.00419b13
add esp, 0x14
lea ecx, [esp + 0x13]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
call sub.ole32.dll_CoUninitialize
cmp dword [esp + 0xa4], ebp
jb 0x410138
mov eax, dword [esp + 0x90]
push eax
call fcn.00419b13
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0041a372
add esp, 0x9c
ret 8