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

Disassembly:
sub esp, 0x254
mov eax, dword [0x100de040]
xor eax, esp
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x258]
mov edx, dword [eax + 0x7c]
sub edx, dword [eax + 0x78]
push ebx
push ebp
push esi
push edi
lea edi, [eax + 0x6c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
test edx, 0xfffffff0
jne 0x1005eff2
mov eax, 0x80004005
jmp 0x1005f2f0
mov esi, dword [edi + 0x10]
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
cmp dword [edi + 0xc], esi
jbe 0x1005f00b
call fcn.10062881
mov eax, dword [edi]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x1005f092
call fcn.10062881
xor eax, eax
cmp esi, dword [eax + 0xc]
ja 0x1005f026
call fcn.10062881
add esi, 0xfffffff0
mov dword [esp + 0x30], esi
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jbe 0x1005f03a
call fcn.10062881
mov edi, dword [edi]
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], esi
test edi, edi
je 0x1005f04e
cmp edi, dword [esp + 0x2c]
je 0x1005f053
call fcn.10062881
cmp esi, dword [esp + 0x30]
je 0x1005f09e
test edi, edi
jne 0x1005f096
call fcn.10062881
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x1005f06e
call fcn.10062881
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
add ebx, eax
adc ebp, ecx
test edi, edi
jne 0x1005f09a
call fcn.10062881
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x1005f08d
call fcn.10062881
add esi, 0x10
jmp 0x1005f044
mov eax, dword [eax]
jmp 0x1005f01c
mov eax, dword [edi]
jmp 0x1005f064
mov eax, dword [edi]
jmp 0x1005f083
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebx
test edi, edi
jne 0x1005f1af
call fcn.10062881
cmp esi, dword [edi + 0x10]
jb 0x1005f0c1
call fcn.10062881
mov edx, dword [esi]
mov esi, dword [esp + 0x26c]
xor eax, eax
sub esi, ebx
sbb eax, ebp
add esi, dword [esp + 0x270]
mov ebp, eax
adc ebp, dword [esp + 0x274]
mov dword [esp + 0x34], edx
mov ecx, esi
mov edx, ebp
shrd ecx, edx, 0x1b
push 0
push 0x8000000
shr edx, 0x1b
push edx
push ecx
call fcn.10070c30
mov ebx, eax
add ebx, 0xfffffe00
mov edi, edx
adc edi, 0xffffffff
cmp ebp, edi
ja 0x1005f11c
jb 0x1005efe8
cmp esi, ebx
jbe 0x1005efe8
mov eax, dword [esp + 0x270]
sub eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x274]
sbb ecx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
cmp ecx, edi
jb 0x1005f1b6
ja 0x1005f144
cmp eax, ebx
jb 0x1005f1b6
mov eax, dword [esp + 0x26c]
xor ebp, ebp
mov ecx, ebx
sub ecx, 4
mov dword [esp + 0x28], eax
push ebp
mov edx, edi
sbb edx, ebp
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x28]
push 1
add ecx, 8
push eax
lea eax, [ebp + 4]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x34], ecx
call fcn.100038a0
cmp eax, ebp
jl 0x1005f2f0
cmp eax, 1
je 0x1005f2f0
lea esi, [esp + 0x38]
call fcn.10019440
sub dword [esp + 0x10], ebx
sbb dword [esp + 0x14], edi
jmp 0x1005f20f
mov edi, dword [edi]
jmp 0x1005f0b7
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov ebp, ebx
sub ebp, eax
mov eax, dword [esp + 0x26c]
sub eax, ebp
xor esi, esi
push esi
push edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x18]
push eax
push 1
add ecx, 8
push edx
mov eax, ebp
mov dword [esp + 0x34], ecx
call fcn.100038a0
cmp eax, esi
jl 0x1005f2f0
cmp eax, 1
je 0x1005f2f0
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
lea esi, [esp + 0x38]
call fcn.10019440
mov dword [eax + 8], ebx
push 0x206
mov dword [eax + 0xc], edi
xor ebx, ebx
lea ecx, [esp + 0x56]
xor eax, eax
push ebx
push ecx
mov word [esp + 0x5c], ax
call fcn.10064e10
mov edi, dword [esp + 0x28]
mov edx, dword [edi + 0x7c]
sub edx, dword [edi + 0x78]
add edi, 0x6c
add esp, 0xc
test edx, 0xfffffff0
jne 0x1005f24b
lea eax, [ebx + 1]
jmp 0x1005f254
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
sar eax, 4
push eax
mov eax, dword [esp + 0x20]
add eax, 0x84
push eax
push str._s.v_02d
lea edx, [esp + 0x5c]
call fcn.100602e0
add esp, 0xc
push ebx
push 0x20000080
push 1
push ebx
push 1
push 0xc0000000
lea ecx, [esp + 0x68]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x1005f299
call fcn.10002d30
jmp 0x1005f2f0
lea edx, [esp + 0x40]
push edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
call fcn.1005fe10
mov eax, dword [esp + 0x24]
push ebx
add eax, ebp
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x2c]
push 1
push esi
mov esi, dword [esp + 0x3c]
mov eax, esi
call fcn.100038a0
cmp eax, ebx
jl 0x1005f2f0
cmp eax, 1
je 0x1005f2f0
xor ebx, ebx
add esi, dword [esp + 0x10]
mov eax, edi
adc ebx, dword [esp + 0x14]
call fcn.1005fda0
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebx
xor eax, eax
mov ecx, dword [esp + 0x25c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10062448
add esp, 0x254
ret 0x10