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

Disassembly:
sub esp, 0x2b4
mov eax, dword [0x100de040]
xor eax, esp
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x2cc]
xor ecx, ecx
cmp eax, 0xef6
setge cl
xor edx, edx
push ebp
mov ebp, dword [esp + 0x2c0]
push esi
push edi
mov edi, dword [esp + 0x2c4]
dec ecx
and ecx, 0xffffff80
add ecx, 0x100
cmp eax, 0xef6
setge dl
mov esi, ecx
xor ecx, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x74], ebp
mov dword [esp + 0x68], esi
add edx, 0xb
cmp eax, 0xef6
setge cl
mov dword [esp + 0xa8], edx
xor edx, edx
add ecx, 0xa
cmp eax, 0xef6
mov eax, dword [esp + 0x2cc]
setge dl
mov dword [esp + 0xb4], ecx
dec edx
and edx, 0xffffff80
add edx, 0x106
cmp eax, edx
jge 0x1007f7a9
add eax, eax
add eax, eax
push eax
push edi
push ebp
call fcn.10064ea0
add esp, 0xc
jmp 0x1007ff16
push ebx
lea ebx, [esi*4]
push ebx
push edi
push ebp
call fcn.10064ea0
push 0x200
lea ecx, [esp + 0xd0]
push 0
push ecx
call fcn.10064e10
mov edx, dword [ebx + edi - 4]
mov ecx, dword [edi + esi*4 - 8]
mov eax, 0x40
mov dword [esp + 0x9c], eax
mov dword [esp + 0x5c], eax
lea eax, [ebx + edi]
mov dword [esp + 0x30], edx
sub edx, ecx
add edx, edx
mov dword [esp + 0x7c], edx
mov edx, dword [edi + esi*4 - 0xc]
sub edx, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], eax
lea edx, [ecx + edx*8]
mov ecx, dword [eax - 8]
mov eax, dword [eax - 4]
add eax, eax
sub eax, ecx
add ebx, ebp
mov dword [esp + 0x80], eax
mov eax, dword [ebx - 4]
mov dword [esp + 0x64], eax
mov eax, 1
add esp, 0x18
cmp esi, eax
mov dword [esp + 0x48], 0x73
mov dword [esp + 0x5c], 0x2e4
mov dword [esp + 0x50], 0
mov dword [esp + 0x60], edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0xb0], ecx
jle 0x1007f85f
mov ecx, dword [ebp + eax*4 - 4]
add dword [ebp + eax*4], ecx
inc eax
cmp eax, esi
jl 0x1007f852
mov ebx, dword [esp + 0x2d0]
push 2
push ebx
call fcn.10063885
mov ebp, eax
push 2
push ebx
mov dword [esp + 0x90], ebp
call fcn.10063885
add esp, 0x10
xor ecx, ecx
mov dword [esp + 0xb4], eax
test esi, esi
jle 0x1007f8b0
mov edx, ebp
sub edx, eax
mov ebx, dword [edi + ecx*4]
sar ebx, 0x1e
and ebx, 2
dec ebx
mov word [edx + eax], bx
mov bx, word [edi + ecx*4]
mov word [eax], bx
inc ecx
add eax, 2
cmp ecx, esi
jl 0x1007f893
mov eax, dword [esp + 0x6c]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
lea ecx, [eax + ecx*4]
mov edx, esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov ebp, esi
mov ebx, esi
mov edi, esi
mov dword [esp + 0xa8], edx
mov dword [esp + 0xbc], ecx
cmp dword [esp + 0x58], ecx
jae 0x1007fef8
sub eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x80]
add eax, dword [esp + 0x10]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x6c]
lea eax, [ecx + eax*2]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xb4]
sub ecx, eax
mov dword [esp + 0x74], eax
sub eax, dword [esp + 0x80]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x78], eax
jmp 0x1007f977
mov edx, dword [esp + 0xa8]
cmp dword [esp + 0x2d8], 0
mov ecx, dword [esp + 0x40]
jle 0x1007f9a8
mov eax, dword [esp + 0x7c]
cdq
idiv dword [esp + 0x2d8]
test edx, edx
jne 0x1007f99d
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x40]
cmp dword [esp + 0x2dc], 0xef6
jl 0x1007fc66
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0xa8], esi
mov eax, edx
jne 0x1007fa4f
mov edx, dword [esp + 0x38]
imul eax, ecx
mov ecx, dword [esp + 0x3c]
imul edx, edi
imul ecx, esi
add eax, ecx
mov ecx, dword [esp + 0x34]
imul ecx, ebx
add eax, edx
mov edx, dword [esp + 0x30]
add eax, ecx
imul edx, ebp
mov ecx, dword [esp + 0x2c]
mov esi, edi
mov edi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x94]
imul ecx, ebp
add eax, edx
mov edx, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0x90]
imul edx, ecx
add eax, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x8c]
imul edx, ecx
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x14]
add eax, edx
mov dword [esp + 0x8c], 0
jmp 0x1007fc5b
jle 0x1007fb4b
imul eax, ecx
sar edx, 0x1e
and edx, 2
lea ecx, [ecx + edx - 1]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
imul edx, esi
add eax, edx
sar esi, 0x1e
and esi, 2
lea ecx, [ecx + esi - 1]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x38]
mov edx, ecx
imul edx, edi
add eax, edx
mov esi, edi
sar edi, 0x1e
and edi, 2
lea ecx, [ecx + edi - 1]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x34]
mov edx, ecx
imul edx, ebx
add eax, edx
mov edi, ebx
sar ebx, 0x1e
and ebx, 2
lea ecx, [ecx + ebx - 1]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x30]
mov edx, ecx
imul edx, ebp
add eax, edx
mov edx, dword [esp + 0x2c]
mov ebx, ebp
sar ebp, 0x1e
and ebp, 2
lea ecx, [ecx + ebp - 1]
mov ebp, dword [esp + 0x94]
imul edx, ebp
mov dword [esp + 0x30], ecx
add eax, edx
mov edx, dword [esp + 0x2c]
mov ecx, ebp
sar ecx, 0x1e
and ecx, 2
lea ecx, [edx + ecx - 1]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x90]
imul edx, ecx
mov dword [esp + 0x94], ecx
sar ecx, 0x1e
add eax, edx
mov edx, dword [esp + 0x28]
and ecx, 2
lea ecx, [edx + ecx - 1]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x8c]
imul edx, ecx
mov dword [esp + 0x90], ecx
sar ecx, 0x1e
add eax, edx
mov edx, dword [esp + 0x24]
and ecx, 2
lea ecx, [edx + ecx - 1]
mov dword [esp + 0x24], ecx
jmp 0x1007fc50
sar edx, 0x1e
imul eax, ecx
and edx, 2
mov ecx, 1
sub ecx, edx
add dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
imul edx, esi
add eax, edx
sar esi, 0x1e
and esi, 2
mov edx, 1
sub edx, esi
add ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x38]
mov edx, ecx
imul edx, edi
add eax, edx
mov esi, edi
sar edi, 0x1e
and edi, 2
mov edx, 1
sub edx, edi
add ecx, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x34]
mov edx, ecx
imul edx, ebx
add eax, edx
mov edi, ebx
sar ebx, 0x1e
and ebx, 2
mov edx, 1
sub edx, ebx
add ecx, edx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x30]
mov edx, ecx
imul edx, ebp
add eax, edx
mov ebx, ebp
sar ebp, 0x1e
and ebp, 2
mov edx, 1
sub edx, ebp
mov ebp, dword [esp + 0x94]
add ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2c]
imul ecx, ebp
add eax, ecx
mov edx, ebp
sar edx, 0x1e
and edx, 2
mov ecx, 1
sub ecx, edx
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x28]
imul edx, ecx
add eax, edx
mov dword [esp + 0x94], ecx
sar ecx, 0x1e
and ecx, 2
mov edx, 1
sub edx, ecx
add dword [esp + 0x28], edx
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x24]
imul edx, ecx
mov dword [esp + 0x90], ecx
add eax, edx
sar ecx, 0x1e
and ecx, 2
mov edx, 1
sub edx, ecx
add dword [esp + 0x24], edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], ecx
sar eax, 9
sub ecx, eax
mov eax, dword [esp + 0x10]
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [esp + 0x54]
mov dx, cx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x78]
mov word [eax + ecx], dx
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
sar ecx, 0x1e
and ecx, 2
dec ecx
cmp dword [esp + 0x2d4], 0
mov word [eax], cx
mov eax, dword [esp + 0x14]
je 0x1007fcd8
test eax, eax
je 0x1007fcd8
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
push edx
push eax
mov eax, dword [esp + 0x7c]
lea edx, [eax + ecx]
push edx
lea ecx, [esp + 0xcc]
push ecx
push eax
lea ecx, [esp + 0x33]
call fcn.1007ea60
mov ecx, dword [esp + 0xac]
mov edx, eax
mov eax, dword [esp + 0x10]
sar edx, cl
sub dword [eax], edx
jmp 0x1007fd0d
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x58]
push ecx
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [eax + edx]
push ecx
lea edx, [esp + 0xcc]
push edx
push eax
lea ecx, [esp + 0x33]
call fcn.1007df20
mov ecx, dword [esp + 0xac]
mov edx, eax
mov eax, dword [esp + 0x10]
sar edx, cl
sub dword [eax], edx
mov cx, word [eax]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x78]
mov word [eax + edx], cx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x64]
imul ecx, dword [esp + 0x48]
sar edx, 0x1e
and edx, 2
dec edx
mov word [eax], dx
mov eax, dword [esp + 0x18]
imul eax, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
add eax, ecx
mov ecx, dword [esp + 0x84]
imul edx, ecx
add eax, edx
mov edx, dword [esp + 0x10]
sar eax, 0xb
add eax, dword [edx]
mov edx, dword [esp + 0x70]
mov dword [edx], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
jle 0x1007fdb1
mov eax, dword [esp + 0x60]
sar eax, 0x1e
and eax, 2
mov edx, 1
sub edx, eax
mov eax, dword [esp + 0x64]
add ecx, edx
mov edx, dword [esp + 0x18]
sar eax, 0x1c
mov dword [esp + 0x84], ecx
and eax, 8
mov ecx, 4
sub ecx, eax
add dword [esp + 0x48], ecx
mov eax, edx
sar eax, 0x1c
and eax, 8
mov ecx, 4
sub ecx, eax
add dword [esp + 0x44], ecx
jmp 0x1007fdf8
jge 0x1007fdf4
mov eax, dword [esp + 0x60]
sar eax, 0x1e
and eax, 2
lea edx, [ecx + eax - 1]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
sar eax, 0x1c
and eax, 8
mov dword [esp + 0x84], edx
lea edx, [ecx + eax - 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
sar eax, 0x1c
and eax, 8
mov dword [esp + 0x48], edx
lea edx, [ecx + eax - 4]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
sub ecx, edx
lea ecx, [eax + ecx*8]
mov dword [esp + 0x60], ecx
mov ecx, eax
sub ecx, edx
add ecx, ecx
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
imul eax, dword [esp + 0x50]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x5c]
imul ecx, edx
sub ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0xb8]
sar eax, cl
mov ecx, eax
mov eax, dword [esp + 0x70]
add ecx, dword [eax]
mov dword [eax], ecx
mov ecx, dword [esp + 0x18]
test ecx, ecx
jle 0x1007fe83
mov ecx, dword [esp + 0x68]
sar ecx, 0x1d
and ecx, 4
mov edx, 2
sub edx, ecx
mov ecx, dword [esp + 0x4c]
add dword [esp + 0x5c], edx
mov edx, dword [esp + 0x50]
sar ecx, 0x1e
and ecx, 2
lea ecx, [edx + ecx - 1]
mov dword [esp + 0x50], ecx
jmp 0x1007feac
jge 0x1007feac
mov ecx, dword [esp + 0x68]
sar ecx, 0x1d
and ecx, 4
lea edx, [edx + ecx - 2]
mov ecx, dword [esp + 0x4c]
sar ecx, 0x1e
mov dword [esp + 0x5c], edx
and ecx, 2
mov edx, 1
sub edx, ecx
add dword [esp + 0x50], edx
mov edx, dword [eax]
add dword [esp + 0x10], 4
inc dword [esp + 0x7c]
lea ecx, [edx + edx]
sub ecx, dword [esp + 0x4c]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x68], ecx
mov ecx, dword [eax - 4]
mov edx, ecx
shl edx, 5
sub edx, ecx
sar edx, 5
add edx, dword [eax]
mov ecx, 2
add dword [esp + 0x74], ecx
add dword [esp + 0x54], ecx
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x70], eax
cmp eax, dword [esp + 0xbc]
jb 0x1007f970
mov eax, dword [esp + 0x80]
push eax
call fcn.100631a6
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.100631a6
add esp, 8
pop ebx
mov ecx, dword [esp + 0x2bc]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.10062448
add esp, 0x2b4
ret 0x18