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

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov edi, edx
mov esi, ecx
mov al, byte [edi + 1]
mov dword [edi + 0x1c], 0
mov byte [edi], 0
mov byte [esi + 0x1c], al
mov eax, dword [edi + 0x20]
test eax, eax
je 0x100f090b
mov dword [esi + 0x78], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x7c], eax
mov edx, dword [edi + 0x18]
mov ebx, dword [esi + 0x80]
cmp edx, ebx
ja 0x100f0ce4
lea ecx, [esi + 0x1d]
mov dword [esp + 0x1c], 0x1000
lea ebp, [edi + 0x14]
mov dword [esp + 0x20], 0x11
mov eax, ecx
cmp dword [esi], 8
jne 0x100f09d2
cmp dword [edi + 0x20], 0
mov dword [esp + 0x14], eax
jne 0x100f0971
cmp edx, ebx
jne 0x100f0ce4
mov dword [esi + 0x80], 0
lea eax, [esi + 0x1d]
mov dword [ebp], 0
lea ebp, [edi + 0x14]
mov dword [edi + 0x18], 0
mov dword [esp + 0x14], eax
lea ecx, [esi + 0x40]
mov dword [esi], 0
mov dword [esi + 4], 0
mov word [esi + 0x1a], 0
mov byte [eax], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
call fcn.100e9620
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x84], 1
mov dword [esi + 0x88], 4
mov dword [esi + 0x8c], 8
mov word [esi + 0x92], 1
mov dword [esi + 0x9c], 0
cmp dword [edi + 0x20], 0
mov eax, ebp
mov ebp, dword [esi + 0x80]
mov ebx, dword [esi + 0x7c]
mov dword [esp + 0x10], eax
jne 0x100f0a38
mov dword [esp + 0x10], eax
test ebx, ebx
je 0x100f0a38
mov dword [esp + 0x10], eax
cmp ebp, ebx
jb 0x100f0a40
cmp byte [ecx], 0
mov dword [esp + 0x10], eax
je 0x100f0a38
cmp dword [edi + 0x18], ebx
jb 0x100f0ce4
sub ebp, ebx
je 0x100f0a26
cmp ebp, ebx
jae 0x100f0ce4
mov ecx, dword [esi + 0x78]
push ebp
lea eax, [ecx + ebx]
push eax
push ecx
call fcn.100f7620
add esp, 0xc
lea edx, [edi + 0x14]
mov dword [esi + 0x80], ebp
sub dword [edi + 0x18], ebx
mov dword [esp + 0x10], edx
mov dword [edx], ebp
cmp ebp, ebx
ja 0x100f0ce4
sub ebx, ebp
mov edx, edi
push ebx
mov ecx, esi
call fcn.100f0d00
mov ebx, dword [edi + 0x20]
mov edx, eax
test ebx, ebx
jne 0x100f0a5b
mov ecx, dword [esi + 0x78]
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x80]
mov dword [ecx], eax
test edx, edx
jne 0x100f0cda
cmp dword [esi], 5
jne 0x100f0cad
mov dword [esp + 0x14], edx
cmp dword [esi + 0x24], edx
jne 0x100f0ca0
movzx ecx, byte [esi + 0x16]
mov eax, dword [esi + 0x30]
mov ebp, eax
mov edx, dword [esi + 0x34]
mov ebx, edx
mov dword [esp + 0x18], ecx
test cl, 0x20
jne 0x100f0ad2
movzx ecx, byte [esi + 0x17]
xor edx, edx
mov eax, ecx
shr ecx, 3
and eax, 7
add ecx, 7
add eax, 8
call fcn.100f4dc0
test byte [esp + 0x18], 0xe0
je 0x100f0ac6
cmp ebx, edx
jb 0x100f0ad2
ja 0x100f0ac6
cmp ebp, eax
jbe 0x100f0ad2
mov ebp, eax
mov dword [esp + 0x14], 1
mov ebx, edx
cmp dword [edi + 0x7c], edx
ja 0x100f0ae4
jb 0x100f0ade
cmp dword [edi + 0x78], eax
jae 0x100f0ae4
mov dword [edi + 0x78], eax
mov dword [edi + 0x7c], edx
cmp dword [edi + 0x84], ebx
ja 0x100f0b02
jb 0x100f0af6
cmp dword [edi + 0x80], ebp
jae 0x100f0b02
mov dword [edi + 0x80], ebp
mov dword [edi + 0x84], ebx
test edx, edx
ja 0x100f0ca0
jb 0x100f0b17
cmp eax, 0x80000000
ja 0x100f0ca0
xor ecx, ecx
cmp ecx, ebx
jne 0x100f0c93
test edx, edx
ja 0x100f0b2e
jb 0x100f0b30
cmp eax, 0x20000
jb 0x100f0b30
mov eax, ebp
mov dword [esi + 0x98], eax
cmp dword [esi + 0x94], ecx
jne 0x100f0b5a
mov eax, dword [esi + 0x6c]
mov edx, 0x20040
mov ecx, eax
mov eax, dword [eax]
call eax
mov dword [esi + 0x94], eax
test eax, eax
je 0x100f0c93
cmp dword [esi + 0x60], 0
jne 0x100f0b79
mov eax, dword [esi + 0x6c]
mov edx, 0x20080
mov ecx, eax
mov eax, dword [eax]
call eax
mov dword [esi + 0x60], eax
test eax, eax
je 0x100f0c93
cmp dword [edi + 0x20], 0
je 0x100f0b86
xor cl, cl
jmp 0x100f0c70
mov eax, dword [esi + 0x80]
mov ebx, ebp
cmp eax, dword [edi + 0x18]
jne 0x100f0ce4
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x80], 0
mov dword [edi + 0x18], 0
mov eax, dword [esi + 0x80]
mov dword [edi + 0x14], eax
test ecx, ecx
je 0x100f0bdb
add ebp, 0x20080
and ebp, 0xfffe0000
cmp ebp, ebx
jb 0x100f0c93
lea ebx, [ebp + 0x20000]
cmp ebx, ebp
jb 0x100f0c93
mov eax, dword [esi + 0x64]
cmp ebx, 0x1000
cmovb ebx, dword [esp + 0x1c]
cmp ebx, eax
jbe 0x100f0c67
test eax, eax
je 0x100f0c2c
test ecx, ecx
jne 0x100f0c01
cmp ebx, 0x100000
jae 0x100f0c01
xor edx, edx
jmp 0x100f0c06
mov edx, 0x40000
cmp dword [esp + 0x14], 0
mov ecx, 0xc
cmovne ecx, dword [esp + 0x20]
mov eax, 1
shl eax, cl
add eax, edx
cmp eax, ebx
jae 0x100f0c2a
inc ecx
cmp ecx, 0x20
jb 0x100f0c15
jmp 0x100f0c2c
mov ebx, eax
mov edx, dword [esi + 0x68]
test edx, edx
je 0x100f0c4b
mov eax, dword [esi + 0x70]
mov ecx, eax
mov eax, dword [eax + 4]
call eax
mov dword [esi + 0x68], 0
mov dword [esi + 0x64], 0
mov eax, dword [esi + 0x70]
mov edx, ebx
mov ecx, eax
mov eax, dword [eax]
call eax
mov dword [esi + 0x68], eax
test eax, eax
je 0x100f0c93
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x78], eax
mov dword [esi + 0x64], ebx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x7c], ebp
mov dword [edi + 0x10], eax
lea eax, [esi + 0x1d]
mov byte [eax], cl
mov dword [esi], 6
mov edx, dword [edi + 0x18]
mov ebx, dword [esi + 0x80]
cmp edx, ebx
ja 0x100f0ce4
mov ebp, dword [esp + 0x10]
mov ecx, eax
jmp 0x100f0934
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x14
ret
test ebx, ebx
jne 0x100f0cd0
cmp byte [edi], 1
mov eax, dword [esi + 0x80]
je 0x100f0cca
cmp byte [esi + 0x1d], bl
je 0x100f0cd0
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jb 0x100f0cd0
mov eax, ecx
sub eax, dword [edi + 0x18]
mov dword [edi + 0x1c], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x14
ret