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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push esi
cmp dword [0x102e2c60], 0
jne 0x1007d6f5
xor eax, eax
jmp 0x1007e18e
cmp dword [ebp + 8], 0
jne 0x1007d735
mov eax, dword [0x102e2c60]
movsx ecx, word [eax + 0x11d0]
test ecx, ecx
jne 0x1007d735
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x11aa]
test eax, eax
jl 0x1007d735
mov ecx, dword [0x102e2c60]
movsx edx, word [ecx + 0x11aa]
cmp edx, 0xf
jg 0x1007d735
xor eax, eax
jmp 0x1007e18e
mov eax, dword [0x102e2c60]
mov word [eax + 0x11d0], 0
push 0xa0
call fcn.10004d70
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1007d772
push 0xa0
push 0x101165c0
call fcn.10004d30
add esp, 8
xor eax, eax
jmp 0x1007e18e
push 0xa0
push 0
mov ecx, dword [ebp - 8]
push ecx
call fcn.100f1b90
add esp, 0xc
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x1308]
cmp eax, 1
jne 0x1007d7a9
mov ecx, dword [0x102e2c60]
movsx edx, word [ecx + 0x11a8]
mov dword [ebp - 4], edx
jmp 0x1007d7b8
mov eax, dword [0x102e2c60]
movsx ecx, word [eax + 0x11aa]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
mov ax, word [ebp - 4]
mov word [edx], ax
mov ecx, dword [0x102e2c60]
movsx edx, word [ecx + 0x90]
cmp edx, 1
jle 0x1007d8e6
cmp dword [ebp - 4], 0
jl 0x1007d7e8
cmp dword [ebp - 4], 0xf
jle 0x1007d8e6
mov dword [ebp - 0x10], 0
jmp 0x1007d7fa
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [0x102e2c60]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + 0x15c]
jge 0x1007d8e6
mov eax, dword [ebp - 0x10]
mov ecx, dword [0x102e2c60]
cmp dword [ecx + eax*4 + 0x160], 0
je 0x1007d8e1
mov edx, dword [ebp - 0x10]
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + edx*4 + 0x160]
mov edx, dword [ecx]
cmp edx, dword [ebp - 4]
jne 0x1007d8e1
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x54], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + edx*4 + 0x160]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + 4]
mov dword [edx + 0x58], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + ecx*4 + 0x160]
mov ecx, dword [ebp - 8]
mov edx, dword [eax + 8]
mov dword [ecx + 0x5c], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x5c]
shl ecx, 2
push ecx
call fcn.10004d70
add esp, 4
mov edx, dword [ebp - 8]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 8]
cmp dword [eax + 0x60], 0
je 0x1007d8df
mov dword [ebp - 0x14], 0
jmp 0x1007d8ad
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
cmp eax, dword [edx + 0x5c]
jge 0x1007d8df
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + ecx*4 + 0x160]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x60]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ecx + esi*4]
mov dword [eax + edx*4], ecx
jmp 0x1007d8a4
jmp 0x1007d8e6
jmp 0x1007d7f1
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x132c]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x68], eax
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x132e]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x6c], eax
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x1330]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x70], eax
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x1332]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x74], eax
mov edx, dword [ebp - 8]
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x1334]
mov dword [edx + 0x78], ecx
mov edx, dword [ebp - 8]
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x11a4]
mov dword [edx + 0x64], ecx
mov edx, dword [ebp - 8]
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x119c]
mov dword [edx + 0x48], ecx
mov ecx, dword [0x102e2c60]
movsx edx, word [ecx + 0x104]
cmp edx, 1
jne 0x1007d999
mov eax, dword [0x102e2c60]
fld dword [eax + 0x108]
fdivr qword [0x10100320]
fmul dword [0x10116084]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x50]
jmp 0x1007da61
mov edx, dword [0x102e2c60]
mov eax, dword [0x102e2c60]
fld dword [edx + 0x120]
fsub dword [eax + 0x118]
sub esp, 8
fstp qword [esp]
call fcn.100f3c2a
fstp qword [ebp - 0x1c]
add esp, 8
mov ecx, dword [0x102e2c60]
mov edx, dword [0x102e2c60]
fld dword [ecx + 0x124]
fsub dword [edx + 0x11c]
sub esp, 8
fstp qword [esp]
call fcn.100f3c2a
add esp, 8
fcomp qword [ebp - 0x1c]
fnstsw ax
test ah, 1
je 0x1007da2a
mov eax, dword [0x102e2c60]
mov ecx, dword [0x102e2c60]
fld dword [eax + 0x120]
fsub dword [ecx + 0x118]
sub esp, 8
fstp qword [esp]
call fcn.100f3c2a
add esp, 8
fmul dword [0x10116084]
fdiv qword [0x10100350]
mov edx, dword [ebp - 8]
fstp dword [edx + 0x50]
jmp 0x1007da61
mov eax, dword [0x102e2c60]
mov ecx, dword [0x102e2c60]
fld dword [eax + 0x124]
fsub dword [ecx + 0x11c]
sub esp, 8
fstp qword [esp]
call fcn.100f3c2a
add esp, 8
fmul dword [0x10116084]
fdiv qword [0x10100350]
mov edx, dword [ebp - 8]
fstp dword [edx + 0x50]
mov eax, dword [0x102e2c60]
movsx ecx, word [eax + 0x130a]
cmp ecx, 1
jne 0x1007da81
mov edx, dword [ebp - 8]
mov dword [edx + 4], 0x3f800000
jmp case.default.0x1007da9d
mov eax, dword [0x102e2c60]
movsx ecx, word [eax + 0x10e]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 3
ja case.default.0x1007da9d
mov edx, dword [ebp - 0x20]
jmp dword [edx*4 + 0x1007e193]
mov eax, dword [0x102e2c60]
fld dword [0x1011608c]
fmul dword [eax + 0x11ac]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 4]
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x104]
cmp eax, 1
jne 0x1007db15
mov ecx, dword [ebp - 8]
fld dword [ecx + 4]
fld dword [0x102e2c7c]
mov edx, dword [0x102e2c60]
fld dword [edx + 0x108]
fdivr qword [0x10100320]
fmulp st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x1007db15
fld dword [0x102e2c7c]
mov eax, dword [0x102e2c60]
fld dword [eax + 0x108]
fdivr qword [0x10100320]
fmulp st(1)
mov ecx, dword [ebp - 8]
fstp dword [ecx + 4]
jmp case.default.0x1007da9d
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x104]
cmp eax, 1
jne 0x1007db5d
mov ecx, dword [0x102e2c60]
fld dword [ecx + 0x11b0]
mov edx, dword [0x102e2c60]
fld dword [edx + 0x108]
fdivr qword [0x10100320]
fmulp st(1)
fmul dword [0x10116088]
mov eax, dword [ebp - 8]
fstp dword [eax + 4]
jmp 0x1007dc49
mov ecx, dword [0x102e2c60]
mov edx, dword [0x102e2c60]
fld dword [ecx + 0x120]
fsub dword [edx + 0x118]
sub esp, 8
fstp qword [esp]
call fcn.100f3c2a
fstp qword [ebp - 0x28]
add esp, 8
mov eax, dword [0x102e2c60]
mov ecx, dword [0x102e2c60]
fld dword [eax + 0x124]
fsub dword [ecx + 0x11c]
sub esp, 8
fstp qword [esp]
call fcn.100f3c2a
add esp, 8
fcomp qword [ebp - 0x28]
fnstsw ax
test ah, 1
je 0x1007dc00
mov edx, dword [0x102e2c60]
fld dword [edx + 0x11b0]
fstp qword [ebp - 0x30]
mov eax, dword [0x102e2c60]
mov ecx, dword [0x102e2c60]
fld dword [eax + 0x120]
fsub dword [ecx + 0x118]
sub esp, 8
fstp qword [esp]
call fcn.100f3c2a
add esp, 8
fmul qword [ebp - 0x30]
fmul dword [0x10116088]
fdiv qword [0x10100350]
mov edx, dword [ebp - 8]
fstp dword [edx + 4]
jmp 0x1007dc49
mov eax, dword [0x102e2c60]
fld dword [eax + 0x11b0]
fstp qword [ebp - 0x38]
mov ecx, dword [0x102e2c60]
mov edx, dword [0x102e2c60]
fld dword [ecx + 0x124]
fsub dword [edx + 0x11c]
sub esp, 8
fstp qword [esp]
call fcn.100f3c2a
add esp, 8
fmul qword [ebp - 0x38]
fmul dword [0x10116088]
fdiv qword [0x10100350]
mov eax, dword [ebp - 8]
fstp dword [eax + 4]
jmp case.default.0x1007da9d
mov ecx, dword [0x102e2c60]
fld dword [ecx + 0x11b4]
fstp qword [ebp - 0x40]
mov edx, dword [0x102e2c60]
mov eax, dword [0x102e2c60]
fld dword [edx + 0x120]
fsub dword [eax + 0x118]
sub esp, 8
fstp qword [esp]
call fcn.100f3c2a
add esp, 8
fmul qword [ebp - 0x40]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 4]
jmp case.default.0x1007da9d
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x104]
cmp eax, 1
jne 0x1007dcbf
mov ecx, dword [0x102e2c60]
mov edx, dword [0x102e2c60]
fld dword [ecx + 0x11b8]
fdiv dword [edx + 0x108]
mov eax, dword [ebp - 8]
fstp dword [eax + 4]
jmp case.default.0x1007da9d
mov ecx, dword [0x102e2c60]
fld dword [ecx + 0x11b8]
fstp qword [ebp - 0x48]
mov edx, dword [0x102e2c60]
mov eax, dword [0x102e2c60]
fld dword [edx + 0x120]
fsub dword [eax + 0x118]
sub esp, 8
fstp qword [esp]
call fcn.100f3c2a
add esp, 8
fmul qword [ebp - 0x48]
fdiv qword [0x101078e8]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 4]
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x10c]
test eax, eax
jne 0x1007ddda
mov ecx, dword [0x102e2c60]
movsx edx, word [ecx + 0x130c]
cmp edx, 1
jne 0x1007dd32
mov dword [ebp - 0xc], 1
jmp 0x1007dd40
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x11cc]
mov dword [ebp - 0xc], ecx
mov edx, dword [0x102e2c60]
cmp dword [edx + 0x12e4], 0
je 0x1007dd65
mov eax, dword [0x102e2c60]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [eax + 0xac]
jg 0x1007dd65
cmp dword [ebp - 0xc], 0
jge 0x1007dd82
mov edx, dword [ebp - 8]
mov word [edx + 8], 0
mov eax, dword [ebp - 8]
mov word [eax + 0xa], 0
mov ecx, dword [ebp - 8]
mov word [ecx + 0xc], 0
jmp 0x1007ddd8
mov edx, dword [ebp - 0xc]
shl edx, 4
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x12e4]
mov eax, dword [ebp - 8]
mov cx, word [ecx + edx]
mov word [eax + 8], cx
mov edx, dword [ebp - 0xc]
shl edx, 4
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x12e4]
mov eax, dword [ebp - 8]
mov cx, word [ecx + edx + 2]
mov word [eax + 0xa], cx
mov edx, dword [ebp - 0xc]
shl edx, 4
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x12e4]
mov eax, dword [ebp - 8]
mov cx, word [ecx + edx + 4]
mov word [eax + 0xc], cx
jmp 0x1007de02
mov edx, dword [0x102e2c60]
add edx, 0x11bc
mov eax, dword [ebp - 8]
add eax, 8
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x18], ecx
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x1180]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x1c], eax
cmp dword [0x102e2c80], 1
jne 0x1007de42
mov edx, dword [ebp - 8]
mov word [edx + 8], 0
mov eax, dword [ebp - 8]
mov word [eax + 0xa], 0
mov ecx, dword [ebp - 8]
mov word [ecx + 0xc], 0
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x10c]
test eax, eax
jne 0x1007df1f
mov ecx, dword [0x102e2c60]
cmp dword [ecx + 0x12e4], 0
je 0x1007de8e
mov edx, dword [0x102e2c60]
mov eax, dword [0x102e2c60]
mov ecx, dword [edx + 0x117c]
cmp ecx, dword [eax + 0xac]
jg 0x1007de8e
mov edx, dword [0x102e2c60]
cmp dword [edx + 0x117c], 0
jge 0x1007deab
mov eax, dword [ebp - 8]
mov word [eax + 0x20], 0
mov ecx, dword [ebp - 8]
mov word [ecx + 0x22], 0
mov edx, dword [ebp - 8]
mov word [edx + 0x24], 0
jmp 0x1007df1d
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x117c]
shl ecx, 4
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x12e4]
mov edx, dword [ebp - 8]
mov ax, word [eax + ecx]
mov word [edx + 0x20], ax
mov ecx, dword [0x102e2c60]
mov edx, dword [ecx + 0x117c]
shl edx, 4
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x12e4]
mov eax, dword [ebp - 8]
mov cx, word [ecx + edx + 2]
mov word [eax + 0x22], cx
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x117c]
shl eax, 4
mov ecx, dword [0x102e2c60]
mov edx, dword [ecx + 0x12e4]
mov ecx, dword [ebp - 8]
mov dx, word [edx + eax + 4]
mov word [ecx + 0x24], dx
jmp 0x1007df45
mov eax, dword [0x102e2c60]
add eax, 0x116c
mov ecx, dword [ebp - 8]
add ecx, 0x20
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x117c]
mov dword [ecx + 0x30], eax
mov ecx, dword [0x102e2c60]
movsx edx, word [ecx + 0x12e8]
mov eax, dword [ebp - 8]
mov dword [eax + 0x7c], edx
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov ax, word [edx + 0x1184]
mov word [ecx + 0x34], ax
mov ecx, dword [0x102e2c60]
movsx edx, word [ecx + 0x1184]
test edx, edx
jne 0x1007e000
mov eax, dword [ebp - 8]
mov word [eax + 0x34], 1
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x118]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x11c]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x120]
mov dword [ecx + 0x40], eax
mov ecx, dword [0x102e2c60]
cmp dword [ecx + 0x10], 1
jne 0x1007dfec
mov edx, dword [ebp - 8]
fld dword [edx + 0x40]
fadd dword [0x10100348]
mov eax, dword [ebp - 8]
fstp dword [eax + 0x40]
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x124]
mov dword [ecx + 0x44], eax
jmp 0x1007e048
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x1188]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x118c]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x1190]
mov dword [ecx + 0x40], eax
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x1194]
mov dword [ecx + 0x44], eax
mov ecx, dword [0x102e2c60]
fld dword [ecx + 0x12f4]
fcomp qword [0x10100300]
fnstsw ax
test ah, 0x41
jne 0x1007e0b7
mov edx, dword [ebp - 8]
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x12f4]
mov dword [edx + 0x98], ecx
mov edx, dword [ebp - 8]
mov eax, dword [0x102e2c60]
mov cx, word [eax + 0x12f8]
mov word [edx + 0x88], cx
mov edx, dword [ebp - 8]
mov eax, dword [0x102e2c60]
mov cx, word [eax + 0x12fa]
mov word [edx + 0x8a], cx
mov edx, dword [ebp - 8]
mov eax, dword [0x102e2c60]
mov cx, word [eax + 0x12fc]
mov word [edx + 0x8c], cx
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x132c]
cmp eax, 0xfffffff5
je 0x1007e0ec
mov ecx, dword [0x102e2c60]
movsx edx, word [ecx + 0x132c]
cmp edx, 0xfffffff6
je 0x1007e0ec
mov eax, dword [0x102e2c60]
movsx ecx, word [eax + 0x132c]
cmp ecx, 0xfffffff4
jne 0x1007e116
mov edx, dword [ebp - 8]
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x12ec]
mov dword [edx + 0x80], ecx
mov edx, dword [ebp - 8]
mov eax, dword [0x102e2c60]
mov ecx, dword [eax + 0x12f0]
mov dword [edx + 0x84], ecx
jmp 0x1007e18b
mov edx, dword [0x102e2c60]
movsx eax, word [edx + 0x11aa]
cmp eax, 0xffffff9c
jne 0x1007e13f
mov ecx, dword [ebp - 8]
mov edx, dword [0x102e2c60]
mov eax, dword [edx + 0x12ec]
mov dword [ecx + 0x80], eax
jmp 0x1007e18b
mov ecx, dword [0x102e2c60]
movsx edx, word [ecx + 0x11aa]
cmp edx, 0xffffbbce
jne 0x1007e18b
mov eax, dword [ebp - 8]
mov ecx, dword [0x102e2c60]
mov edx, dword [ecx + 0x12ec]
mov dword [eax + 0x80], edx
mov eax, dword [ebp - 8]
mov ecx, dword [0x102e2c60]
mov edx, dword [ecx + 0x12f0]
mov dword [eax + 0x84], edx
mov eax, dword [ebp - 8]
mov dword [eax + 0x98], 0
mov eax, dword [ebp - 8]
pop esi
mov esp, ebp
pop ebp
ret