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

Disassembly:
push 0xffffffffffffffff
push 0x1001df50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x32c
mov al, byte [esp + 3]
push ebp
push esi
mov ebp, ecx
push edi
push 0
lea ecx, [esp + 0x38]
mov byte [esp + 0x38], al
call fcn.100036b0
mov cl, byte [esp + 0xf]
push 0
mov byte [esp + 0x14], cl
lea ecx, [esp + 0x14]
mov dword [esp + 0x344], 0
call fcn.100036b0
mov dl, byte [esp + 0xf]
push 0
lea ecx, [esp + 0x68]
mov byte [esp + 0x344], 1
mov byte [esp + 0x68], dl
call fcn.100036b0
push str..dat
call fcn.100125b7
add esp, 4
lea ecx, [esp + 0x64]
push eax
push str..dat
call fcn.10006190
push 0x100246c0
lea eax, [esp + 0x38]
push 0
push eax
mov byte [esp + 0x34c], 2
call fcn.1000f970
add esp, 0xc
lea ecx, [esp + 0xd4]
call fcn.1000e610
mov ecx, dword [0x1001f2c8]
lea edx, [esp + 0x34]
push ecx
push 0
push edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34c], 3
call fcn.10004ba0
push str._b010.dat
call fcn.100125b7
add esp, 4
lea ecx, [esp + 0x10]
push eax
push str._b010.dat
call fcn.10004ae0
lea eax, [esp + 0x10]
push eax
call fcn.1000f530
add esp, 4
test al, al
je 0x10008908
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x1000886d
mov eax, 0x1001f2c4
push 0x10024134
push eax
call fcn.100125a4
mov esi, eax
add esp, 8
test esi, esi
je 0x10008908
push esi
push 0xf00d
push 1
push 0x100326e8
call fcn.10012300
push esi
mov edi, eax
call fcn.1001219a
add esp, 0x14
cmp edi, 0xf00d
je 0x10008908
mov esi, dword [esp + 0x38]
test esi, esi
jne 0x100088b7
mov esi, 0x1001f2c4
mov cl, byte [esp + 0xf]
push 0
mov byte [esp + 0x24], cl
lea ecx, [esp + 0x24]
call fcn.100036b0
push esi
call fcn.100125b7
add esp, 4
lea ecx, [esp + 0x20]
push eax
push esi
call fcn.10006190
lea edx, [esp + 0x20]
push 0
push edx
mov byte [esp + 0x348], 4
call fcn.1000f060
add esp, 8
lea ecx, [esp + 0x20]
mov byte [esp + 0x340], 3
push 1
call fcn.100036b0
mov al, byte [esp + 0x348]
push ebx
cmp al, 0x62
jne 0x10008a7e
mov eax, dword [0x1001f2c8]
xor ebx, ebx
push eax
lea ecx, [esp + 0x3c]
push ebx
push ecx
lea ecx, [esp + 0x20]
call fcn.10004ba0
push str.msprotect.dll
call fcn.100125b7
add esp, 4
lea ecx, [esp + 0x14]
push eax
push str.msprotect.dll
call fcn.10004ae0
lea edx, [esp + 0x14]
push edx
call fcn.1000f530
add esp, 4
test al, al
je 0x10008a2a
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x1000896d
mov eax, 0x1001f2c4
push 0x10024134
push eax
call fcn.100125a4
mov esi, eax
add esp, 8
test esi, esi
je 0x10008a08
push esi
push 0x11000
push 1
push 0x100416f8
call fcn.10012300
push esi
mov edi, eax
call fcn.1001219a
add esp, 0x14
cmp edi, 0x11000
je 0x10008a08
mov esi, dword [esp + 0x3c]
test esi, esi
jne 0x100089b7
mov esi, 0x1001f2c4
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x28]
mov byte [esp + 0x28], al
call fcn.100036b0
push esi
call fcn.100125b7
add esp, 4
lea ecx, [esp + 0x24]
push eax
push esi
call fcn.10006190
lea ecx, [esp + 0x24]
push 0
push ecx
mov byte [esp + 0x34c], 5
call fcn.1000f060
add esp, 8
lea ecx, [esp + 0x24]
mov byte [esp + 0x344], 3
push 1
call fcn.100036b0
lea edx, [esp + 0x14]
push edx
call fcn.1000f530
add esp, 4
test al, al
jne 0x10008a47
mov eax, dword [ebp + 4]
test eax, eax
jne 0x10008a7e
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10008a3e
jmp 0x10008a39
mov eax, dword [ebp + 4]
test eax, eax
jne 0x10008a7e
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10008a3e
mov eax, 0x1001f2c4
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
mov eax, dword [ebp + 4]
test eax, eax
jne 0x10008a7e
test ebx, ebx
je 0x10008a7e
lea eax, [esp + 0x34]
mov dword [ebp + 4], ebx
push eax
push ebx
mov byte [esp + 0x3c], 0x66
mov byte [esp + 0x3d], 0x31
mov byte [esp + 0x3e], 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008a7e
push 0x22ad
call eax
add esp, 4
mov ecx, dword [0x1001f2c8]
lea edx, [esp + 0x38]
push ecx
push 0
push edx
lea ecx, [esp + 0x20]
call fcn.10004ba0
push 0x10052718
call fcn.100125b7
add esp, 4
lea ecx, [esp + 0x14]
push eax
push 0x10052718
call fcn.10004ae0
lea eax, [esp + 0x14]
push eax
call fcn.1000f530
add esp, 4
test al, al
je 0x10008b8e
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10008ad3
mov eax, 0x1001f2c4
push 0x10024134
push eax
call fcn.100125a4
mov esi, eax
add esp, 8
test esi, esi
je 0x10008b8e
push esi
push 0xe00d
push 1
push 0x100246d8
call fcn.10012300
push esi
mov edi, eax
call fcn.1001219a
add esp, 0x14
cmp edi, 0xe00d
je 0x10008b8e
mov edi, dword [esp + 0x3c]
test edi, edi
jne 0x10008b1d
mov edi, 0x1001f2c4
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x28], cl
lea ecx, [esp + 0x28]
call fcn.100036b0
push edi
call fcn.100125b7
add esp, 4
mov esi, eax
lea ecx, [esp + 0x24]
push 1
push esi
call fcn.10001f70
test al, al
je 0x10008b64
mov edx, dword [esp + 0x28]
push esi
push edi
push edx
call fcn.100018f0
add esp, 0xc
lea ecx, [esp + 0x24]
push esi
call fcn.10004e00
lea eax, [esp + 0x24]
push 0
push eax
mov byte [esp + 0x34c], 6
call fcn.1000f060
add esp, 8
lea ecx, [esp + 0x24]
mov byte [esp + 0x344], 3
push 1
call fcn.100036b0
mov cl, byte [esp + 0x13]
xor ebp, ebp
mov byte [esp + 0x48], cl
push ebp
lea ecx, [esp + 0x4c]
call fcn.100036b0
push 0x10055b04
call fcn.100125b7
add esp, 4
mov esi, eax
lea ecx, [esp + 0x48]
push 1
push esi
call fcn.10001f70
test al, al
je 0x10008bde
mov edx, dword [esp + 0x4c]
push esi
push 0x10055b04
push edx
call fcn.100018f0
add esp, 0xc
lea ecx, [esp + 0x48]
push esi
call fcn.10004e00
lea eax, [esp + 0x68]
lea ecx, [esp + 0x38]
push eax
push ecx
lea ecx, [esp + 0xe0]
mov byte [esp + 0x34c], 7
call fcn.1000e690
test al, al
je 0x10008f5c
lea edx, [esp + 0x24]
lea ecx, [esp + 0xd8]
push edx
call fcn.1000e8b0
push 0x100242e8
mov byte [esp + 0x348], 8
call fcn.100125b7
add esp, 4
lea ecx, [esp + 0x24]
push eax
mov eax, dword [esp + 0x30]
push 0x100242e8
push eax
push ebp
call fcn.10006240
cmp eax, ebp
je 0x10008c59
push 0x100242ec
lea ecx, [esp + 0x28]
call fcn.10006120
test eax, eax
je 0x10008c59
xor bl, bl
jmp 0x10008c5b
mov bl, 1
push 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x348], 7
call fcn.100036b0
test bl, bl
jne 0x10008f48
lea ecx, [esp + 0xd8]
call fcn.1000e8a0
test al, al
jne 0x10008f48
lea ecx, [esp + 0xc8]
push ecx
lea ecx, [esp + 0xdc]
call fcn.1000e8b0
mov eax, dword [eax + 8]
lea edx, [esp + 0xa8]
push edx
lea ecx, [esp + 0xdc]
mov byte [esp + 0x348], 9
lea edi, [eax - 1]
call fcn.1000e8b0
mov esi, eax
mov eax, dword [esi + 8]
mov byte [esp + 0x344], 0xa
cmp eax, edi
ja 0x10008cd6
call fcn.10011fb7
mov ecx, esi
call fcn.10009150
mov eax, dword [esi + 4]
push 1
lea ecx, [esp + 0xac]
mov byte [esp + 0x348], 9
cmp word [eax + edi*2], 0x5f
setne bl
call fcn.100036b0
push 1
lea ecx, [esp + 0xcc]
mov byte [esp + 0x348], 7
call fcn.100036b0
test bl, bl
je 0x10008f05
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0xdc]
call fcn.1000e8b0
mov esi, eax
mov eax, dword [esi + 8]
mov byte [esp + 0x344], 0xb
cmp eax, ebp
ja 0x10008d43
call fcn.10011fb7
mov ecx, esi
call fcn.10009150
mov edx, dword [esi + 4]
push 1
lea ecx, [esp + 0x7c]
mov byte [esp + 0x348], 7
mov bl, byte [edx]
call fcn.100036b0
lea eax, [esp + 0x88]
lea ecx, [esp + 0xd8]
push eax
call fcn.1000e8b0
mov ecx, dword [0x1001f2c8]
mov byte [esp + 0x344], 0xc
push ecx
push ebp
push eax
lea ecx, [esp + 0x54]
call fcn.100049f0
push 1
lea ecx, [esp + 0x8c]
mov byte [esp + 0x348], 7
call fcn.100036b0
push 0x10052714
call fcn.100125b7
add esp, 4
lea ecx, [esp + 0x48]
push eax
push 0x10052714
call fcn.10004ae0
cmp bl, byte [esp + 0x34c]
jne 0x10008f48
lea edx, [esp + 0x98]
lea ecx, [esp + 0xd8]
push edx
call fcn.1000e8b0
mov esi, eax
push str.a010.dat
mov byte [esp + 0x348], 0xd
call fcn.100125b7
add esp, 4
mov ecx, esi
push eax
mov eax, dword [esi + 8]
push str.a010.dat
push eax
push ebp
call fcn.10006240
cmp eax, ebp
push 1
lea ecx, [esp + 0x9c]
mov byte [esp + 0x348], 7
setne bl
call fcn.100036b0
test bl, bl
je 0x10008f48
mov ecx, dword [0x1001f2c8]
lea edx, [esp + 0x38]
push ecx
push ebp
push edx
lea ecx, [esp + 0x20]
call fcn.10004ba0
push 0x10024354
call fcn.100125b7
mov edx, dword [esp + 0x20]
mov esi, eax
mov eax, dword [0x1001f2c8]
add esp, 4
sub eax, edx
cmp eax, esi
ja 0x10008e68
call fcn.10011d8b
cmp esi, ebp
jbe 0x10008ea6
mov ecx, dword [esp + 0x1c]
push ebp
lea edi, [ecx + esi]
lea ecx, [esp + 0x18]
push edi
call fcn.10001f70
test al, al
je 0x10008ea6
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push esi
push 0x10024354
lea eax, [edx + eax*2]
push eax
call fcn.100018f0
add esp, 0xc
lea ecx, [esp + 0x14]
push edi
call fcn.10004e00
lea ecx, [esp + 0xb8]
push ecx
lea ecx, [esp + 0xdc]
call fcn.1000e8b0
mov edx, dword [0x1001f2c8]
lea ecx, [esp + 0x14]
push edx
push ebp
push eax
mov byte [esp + 0x350], 0xe
call fcn.100049f0
push 1
lea ecx, [esp + 0xbc]
mov byte [esp + 0x348], 7
call fcn.100036b0
mov eax, dword [esp + 0x18]
cmp eax, ebp
jne 0x10008ef7
mov eax, 0x1001f2c4
push ebp
push eax
mov ecx, 0x10055ae0
call fcn.100082e0
jmp 0x10008f48
lea eax, [esp + 0x58]
lea ecx, [esp + 0xd8]
push eax
call fcn.1000e8b0
mov ecx, dword [esp + 0x5c]
cmp ecx, ebp
je 0x10008f3c
mov al, byte [ecx - 1]
test al, al
je 0x10008f30
cmp al, 0xff
je 0x10008f30
dec al
mov byte [ecx - 1], al
jmp 0x10008f3c
lea eax, [ecx - 2]
push eax
call fcn.10011d80
add esp, 4
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
lea ecx, [esp + 0xd8]
call fcn.1000e880
test al, al
jne 0x10008c04
mov al, byte [esp + 0x34c]
pop ebx
cmp al, 0x61
jne 0x10009064
lea ecx, [esp + 0x44]
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.10011ad0
add esp, 8
mov eax, dword [esp + 0x58]
mov byte [esp + 0x340], 0xf
cmp eax, ebp
jne 0x10008f93
mov eax, 0x1001f2c0
mov ecx, dword [esp + 0x5c]
push 1
push ecx
push eax
push 9
mov ecx, 0x100581a8
call fcn.1000dc80
mov edx, dword [0x1001f2c8]
lea eax, [esp + 0x34]
push edx
push ebp
push eax
lea ecx, [esp + 0x1c]
call fcn.10004ba0
push 0x10052718
call fcn.100125b7
mov ecx, dword [0x1001f2c8]
mov edx, dword [esp + 0x1c]
mov esi, eax
sub ecx, edx
add esp, 4
cmp ecx, esi
ja 0x10008fe1
call fcn.10011d8b
cmp esi, ebp
jbe 0x10009026
mov edx, dword [esp + 0x18]
push ebp
lea ecx, [esp + 0x14]
lea edi, [edx + esi]
push edi
call fcn.10001f70
test al, al
je 0x10009026
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
lea ecx, [eax + ecx*2]
mov eax, 0x10052718
sub ecx, eax
mov dx, word [eax]
mov word [ecx + eax], dx
add eax, 2
dec esi
jne 0x1000900d
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edi
mov word [eax + edi*2], bp
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x10009033
mov eax, 0x1001f2c4
push ebp
push eax
mov ecx, 0x10055ae0
call fcn.100082e0
mov eax, dword [esp + 0x58]
cmp eax, ebp
je 0x10009064
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x1000905b
cmp al, 0xff
je 0x1000905b
dec al
mov byte [ecx], al
jmp 0x10009064
push ecx
call fcn.10011d80
add esp, 4
mov ecx, dword [esp + 0x48]
cmp ecx, ebp
je 0x1000908a
mov al, byte [ecx - 1]
test al, al
je 0x1000907e
cmp al, 0xff
je 0x1000907e
dec al
mov byte [ecx - 1], al
jmp 0x1000908a
lea eax, [ecx - 2]
push eax
call fcn.10011d80
add esp, 4
lea ecx, [esp + 0xd4]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov byte [esp + 0x340], 2
call fcn.1000e630
mov ecx, dword [esp + 0x68]
cmp ecx, ebp
je 0x100090d0
mov al, byte [ecx - 1]
test al, al
je 0x100090c4
cmp al, 0xff
je 0x100090c4
dec al
mov byte [ecx - 1], al
jmp 0x100090d0
add ecx, 0xfffffffe
push ecx
call fcn.10011d80
add esp, 4
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x68], ebp
cmp ecx, ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
je 0x10009102
mov al, byte [ecx - 1]
test al, al
je 0x100090f6
cmp al, 0xff
je 0x100090f6
dec al
mov byte [ecx - 1], al
jmp 0x10009102
add ecx, 0xfffffffe
push ecx
call fcn.10011d80
add esp, 4
mov ecx, dword [esp + 0x38]
pop edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
pop esi
cmp ecx, ebp
pop ebp
je 0x10009137
mov al, byte [ecx - 1]
test al, al
je 0x1000912b
cmp al, 0xff
je 0x1000912b
dec al
mov byte [ecx - 1], al
jmp 0x10009137
add ecx, 0xfffffffe
push ecx
call fcn.10011d80
add esp, 4
mov ecx, dword [esp + 0x32c]
xor eax, eax
mov dword fs:[0], ecx
add esp, 0x338
ret 4