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

Disassembly:
push 0xffffffffffffffff
push 0x100bd083
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x94
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x28]
call fcn.1001f054
xor esi, esi
mov dword [esp + 0xac], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x94], esi
push 0x40000
lea ecx, [esp + 0x2c]
mov byte [esp + 0xb0], 1
call fcn.1001f073
test al, al
je 0x1000f2c5
push 0x40000
lea ecx, [esp + 0x78]
call fcn.10020a9f
test al, al
jne 0x1000f2e1
lea ecx, [esp + 0x74]
call fcn.10020adb
lea ecx, [esp + 0x28]
call fcn.1001f0b1
mov eax, 0x8007000e
jmp 0x1000f81d
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x28]
mov dword [esp + 0x34], eax
call fcn.1001f0c2
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x20], 0x20
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x24], esi
call fcn.10020aea
mov ebx, dword [esp + 0xc0]
lea edi, [ebp + 0x20]
mov ecx, 0x1000
mov eax, 0x1000100
rep stosd dword es:[edi], eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x1c], 9
mov dword [esp + 0x14], 0x101
mov dword [esp + 0x68], 0xffffffff
mov byte [esp + 0x13], 0
mov byte [esp + 0x11], 0
mov dword [esp + 0x18], 1
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov eax, edx
sub eax, ecx
mov ecx, 0x20
sub ecx, esi
xor esi, esi
cdq
shr ecx, 3
sub eax, ecx
lea edi, [ebp + 0x18]
sbb edx, esi
mov esi, dword [esp + 0x48]
xor ecx, ecx
add eax, esi
mov esi, dword [esp + 0x38]
adc edx, ecx
mov ecx, dword [esp + 0x3c]
add eax, esi
adc edx, ecx
mov dword [edi], eax
lea ecx, [esp + 0x74]
mov dword [edi + 4], edx
call fcn.10020b02
mov ecx, eax
mov dword [esp + 0x70], edx
test ebx, ebx
mov dword [esp + 0x6c], ecx
mov byte [esp + 0x12], 0
je 0x1000f3ea
cmp edx, dword [ebx + 4]
jb 0x1000f3ea
ja 0x1000f3ce
cmp ecx, dword [ebx]
jb 0x1000f3ea
mov al, byte [ebp + 0x10]
test al, al
je 0x1000f76d
mov al, byte [esp + 0x11]
test al, al
jne 0x1000f76d
mov byte [esp + 0x12], 1
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x1000f46c
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov eax, ecx
sub eax, esi
mov esi, edx
sbb esi, ebx
mov dword [esp + 0xa0], esi
jne 0x1000f436
cmp eax, 0x100000
jae 0x1000f436
mov eax, dword [edi]
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
sub eax, esi
mov esi, dword [edi + 4]
sbb esi, ebx
mov dword [esp + 0xa0], esi
jne 0x1000f436
cmp eax, 0x100000
jb 0x1000f46c
mov eax, dword [edi + 4]
mov dword [esp + 0x58], edx
mov edx, dword [edi]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x6c]
mov dword [esp + 0x54], ecx
mov ecx, dword [eax]
push edx
push edi
push eax
call dword [ecx + 0xc]
mov esi, eax
test esi, esi
mov dword [esp + 0x18], esi
jne 0x1000f796
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
cmp esi, 8
jb 0x1000f4c9
cmp edx, dword [esp + 0x2c]
jb 0x1000f496
lea ecx, [esp + 0x28]
call fcn.1001f170
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov byte [esp + 0x64], al
jmp 0x1000f4a1
mov al, byte [edx]
inc edx
mov byte [esp + 0x64], al
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x24]
mov ecx, 0x20
and eax, 0xff
sub ecx, esi
sub esi, 8
shl eax, cl
mov dword [esp + 0x20], esi
or edi, eax
cmp esi, 8
mov dword [esp + 0x24], edi
jae 0x1000f479
mov ecx, dword [esp + 0x1c]
mov eax, 1
shl eax, cl
mov ebx, dword [esp + 0x24]
add esi, ecx
mov dword [esp + 0x20], esi
lea edi, [eax - 1]
mov eax, edi
and eax, ebx
shr ebx, cl
mov ecx, dword [esp + 0x48]
cmp ecx, 4
mov dword [esp + 0x24], ebx
ja 0x1000f771
mov ebx, 0x20
shl ecx, 3
sub ebx, esi
cmp ebx, ecx
jb 0x1000f771
cmp eax, 0x100
jne 0x1000f63d
cmp esi, 8
jb 0x1000f56a
cmp edx, dword [esp + 0x2c]
jb 0x1000f537
lea ecx, [esp + 0x28]
call fcn.1001f170
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov byte [esp + 0x50], al
jmp 0x1000f542
mov al, byte [edx]
inc edx
mov byte [esp + 0x50], al
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x24]
mov ecx, 0x20
and eax, 0xff
sub ecx, esi
sub esi, 8
shl eax, cl
mov dword [esp + 0x20], esi
or ebx, eax
cmp esi, 8
mov dword [esp + 0x24], ebx
jae 0x1000f51a
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
and edi, eax
add esi, ecx
shr eax, cl
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
cmp eax, 4
ja 0x1000f77c
mov ebx, 0x20
shl eax, 3
sub ebx, esi
cmp ebx, eax
jb 0x1000f77c
cmp edi, 1
jne 0x1000f5c0
cmp ecx, 0xd
jae 0x1000f77c
mov ebx, dword [esp + 0xc0]
mov eax, ecx
inc eax
mov dword [esp + 0x1c], eax
jmp 0x1000f370
cmp edi, 2
jne 0x1000f77c
lea edi, [ebp + 0x6120]
mov ecx, 0x7c0
xor eax, eax
lea edx, [ebp + 0x222]
rep stosd dword es:[edi], eax
mov ecx, edx
mov esi, 0x1eff
xor eax, eax
mov ax, word [ecx]
cmp eax, 0x100
je 0x1000f5f9
mov byte [eax + ebp + 0x6020], 1
add ecx, 2
dec esi
jne 0x1000f5e5
mov eax, 0x101
mov ecx, edx
mov dl, byte [eax + ebp + 0x6020]
test dl, dl
jne 0x1000f616
mov word [ecx], 0x100
inc eax
add ecx, 2
cmp eax, 0x2000
jb 0x1000f606
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], 0x101
jmp 0x1000f370
mov cl, byte [esp + 0x12]
test cl, cl
jne 0x1000f771
mov edi, dword [esp + 0x14]
xor dl, dl
cmp edi, 0x2000
jae 0x1000f69b
mov esi, dword [esp + 0x68]
test esi, esi
jl 0x1000f69b
lea ecx, [ebp + edi*2 + 0x20]
cmp word [ecx], 0x100
je 0x1000f678
inc edi
add ecx, 2
cmp edi, 0x2000
jb 0x1000f663
jmp 0x1000f697
cmp edi, 0x2000
mov dword [esp + 0x14], edi
jae 0x1000f69b
mov cl, byte [esp + 0x13]
mov word [ebp + edi*2 + 0x20], si
mov byte [edi + ebp + 0x4020], cl
mov dl, 1
inc edi
mov dword [esp + 0x14], edi
xor esi, esi
cmp eax, 0x100
mov dword [esp + 0x68], eax
jb 0x1000f6e5
mov cl, byte [eax + ebp + 0x4020]
mov byte [esi + ebp + 0x6020], cl
xor ecx, ecx
mov cx, word [ebp + eax*2 + 0x20]
inc esi
mov eax, ecx
cmp eax, 0x100
je 0x1000f77c
cmp esi, 0x2000
jae 0x1000f6da
cmp eax, 0x100
jae 0x1000f6a8
cmp eax, 0x100
je 0x1000f77c
cmp esi, 0x2000
jae 0x1000f77c
mov byte [esi + ebp + 0x6020], al
inc esi
test dl, dl
mov byte [esp + 0x13], al
je 0x1000f708
mov byte [edi + ebp + 0x401f], al
mov ebx, dword [esp + 0xc0]
test ebx, ebx
je 0x1000f737
mov ecx, dword [ebx]
mov edi, dword [esp + 0x6c]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x70]
sub ecx, edi
sbb eax, edx
xor edx, edx
cmp edx, eax
jb 0x1000f737
ja 0x1000f730
cmp esi, ecx
jbe 0x1000f737
mov byte [esp + 0x11], 1
mov esi, ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov dl, byte [esi + ebp + 0x601f]
dec esi
mov byte [eax + ecx], dl
mov ecx, dword [esp + 0x7c]
inc eax
cmp eax, ecx
mov dword [esp + 0x78], eax
jne 0x1000f764
lea ecx, [esp + 0x74]
call fcn.10020bd7
mov eax, dword [esp + 0x78]
test esi, esi
jne 0x1000f73b
jmp 0x1000f368
xor edi, edi
jmp 0x1000f787
mov ebx, dword [esp + 0xc0]
xor edi, edi
jmp 0x1000f787
mov ebx, dword [esp + 0xc0]
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x74]
call fcn.10020bbb
mov esi, eax
test esi, esi
je 0x1000f7ac
lea ecx, [esp + 0x74]
call fcn.10020adb
lea ecx, [esp + 0x28]
call fcn.1001f0b1
mov eax, esi
jmp 0x1000f81d
test edi, edi
jne 0x1000f809
mov al, byte [ebp + 0x10]
test al, al
je 0x1000f809
mov al, byte [esp + 0x11]
test al, al
je 0x1000f7c4
mov edi, 1
lea ecx, [esp + 0x74]
call fcn.10020b02
test ebx, ebx
je 0x1000f7e3
mov ecx, dword [ebx]
cmp ecx, eax
jne 0x1000f7de
mov eax, dword [ebx + 4]
cmp eax, edx
je 0x1000f7e3
mov edi, 1
mov ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x1000f809
mov edx, dword [ecx]
mov esi, dword [ebp + 0x18]
lea eax, [ebp + 0x18]
cmp edx, esi
jne 0x1000f804
mov ecx, dword [ecx + 4]
mov edx, dword [eax + 4]
cmp ecx, edx
je 0x1000f809
mov edi, 1
lea ecx, [esp + 0x74]
call fcn.10020adb
lea ecx, [esp + 0x28]
call fcn.1001f0b1
mov eax, edi
mov ecx, dword [esp + 0xa4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xa0
ret 0x14