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

Disassembly:
push 0xffffffffffffffff
push 0x10153953
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x101a42b4]
xor eax, esp
mov dword [esp + 0x84], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101a42b4]
xor eax, esp
push eax
lea eax, [esp + 0x9c]
mov dword fs:[0], eax
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xac]
mov edi, dword [esp + 0xc0]
xor ebp, ebp
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x80], ebp
test bh, bh
mov dword [edx], 0xffffffff
mov dword [eax], 0xffffffff
test eax, 0x6140
fld qword [0x10159790]
fld qword [esp + 0xc4]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x1007c2b5
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x1007c2b7
mov ebx, dword [esp + 0xcc]
cmp ebx, 3
ja 0x1007c2b7
push ebx
pop ebx
test ch, ch
mov dword [esp + 0x14], ebp
test eax, 0x4a15
test edx, edx
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0xcc]
lea eax, [esp + 0x58]
push eax
mov eax, dword [esp + 0xcc]
push edx
mov edx, dword [esp + 0xcc]
push eax
mov eax, dword [esp + 0xcc]
push edx
push eax
push ecx
call fcn.1003cc50
add esp, 0x28
test eax, eax
je 0x1007c2b7
fld1
fsub qword [esp + 0xc4]
fnstcw word [esp + 0x7e]
fmul qword [0x10159740]
movzx eax, word [esp + 0x7e]
or eax, 0xc00
mov dword [esp + 0x8c], eax
fldcw word [esp + 0x8c]
fistp qword [esp + 0x8c]
mov esi, dword [esp + 0x8c]
fldcw word [esp + 0x7e]
test dl, dl
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0xa4], ebp
test al, al
push ecx
pop ecx
lea ecx, [esp + 0x34]
call fcn.100e610c
mov byte [esp + 0xa4], 1
mov bl, bl
push ebp
lea ecx, [esp + 0x38]
push ecx
push 0x101593cc
push edi
call fcn.100436a0
add esp, 0x10
mov ebp, eax
test cl, cl
xor edi, edi
test ebp, ebp
jle 0x1007bf77
mov bl, 0x64
mov dl, dl
mov byte [esp + 0x8c], 0x25
mov byte [esp + 0x8d], bl
mov byte [esp + 0x8e], 0x7c
mov byte [esp + 0x8f], 0x25
mov byte [esp + 0x90], bl
mov byte [esp + 0x91], 0x7c
mov byte [esp + 0x92], 0x25
mov byte [esp + 0x93], bl
mov byte [esp + 0x94], 0
test bl, bl
test edi, edi
jl 0x1007bfa3
cmp edi, dword [esp + 0x3c]
jge 0x1007bfa3
mov edx, dword [esp + 0x38]
mov eax, dword [edx + edi*4]
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x78]
push edx
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x98]
push edx
push eax
call fcn.100f6765
add esp, 0x14
test ecx, ecx
cmp dword [esp + 0x78], 0
je 0x1007bf49
mov dword [esp + 0x78], 0
mov cl, cl
jmp 0x1007bf53
mov dword [esp + 0x78], 1
mov dh, dh
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x28]
call fcn.10068e00
test ebx, ebx
add edi, 1
cmp edi, ebp
jl 0x1007beb2
mov ebx, dword [esp + 0xcc]
test ebp, ebp
jne 0x1007bfa8
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x34]
call fcn.100e6454
mov dword [esp + 0xa4], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.1000a510
jmp 0x1007c2b7
jmp fcn.100e2ea6
test ebx, ebx
jne 0x1007c05d
xor ebp, ebp
cmp dword [esp + 0x50], ebp
jle 0x1007c25e
mov eax, dword [esp + 0x4c]
xor edi, edi
test eax, eax
jle 0x1007c01b
jmp 0x1007bfd0
mov ecx, ebp
imul ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x14]
lea eax, [ecx + edi*4]
mov edi, edi
mov byte [eax + 3], 0
test bh, bh
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push ebp
push edi
push edx
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x40]
push eax
call fcn.1004f690
add esp, 0x20
test eax, eax
jne 0x1007c029
mov eax, dword [esp + 0x4c]
add edi, 1
cmp edi, eax
jl 0x1007bfd0
add ebp, 1
cmp ebp, dword [esp + 0x50]
jl 0x1007bfc0
jmp 0x1007c25e
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x84]
add edi, ecx
mov dword [edx], edi
mov cl, cl
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x88]
add ebp, eax
mov dword [ecx], ebp
mov ebx, ebx
mov dword [esp + 0x80], 1
test dh, dh
jmp 0x1007c25e
cmp ebx, 1
jne 0x1007c109
mov ebp, dword [esp + 0x50]
add ebp, 0xffffffff
js 0x1007c25e
mov eax, dword [esp + 0x4c]
xor edi, edi
test eax, eax
jle 0x1007c0cb
lea ecx, [ecx]
mov edx, ebp
imul edx, dword [esp + 0x18]
add edx, dword [esp + 0x14]
lea eax, [edx + edi*4]
mov edx, edx
mov byte [eax + 3], 0
test ecx, ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push ebp
push edi
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.1004f690
add esp, 0x20
test eax, eax
jne 0x1007c0d5
mov eax, dword [esp + 0x4c]
add edi, 1
cmp edi, eax
jl 0x1007c080
sub ebp, 1
jns 0x1007c077
jmp 0x1007c25e
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
add edi, edx
mov dword [eax], edi
mov edi, edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add ebp, ecx
mov dword [edx], ebp
test cl, cl
mov dword [esp + 0x80], 1
push eax
pop eax
jmp 0x1007c25e
cmp ebx, 2
jne 0x1007c1b7
xor ebp, ebp
cmp dword [esp + 0x50], ebp
jle 0x1007c25e
mov edi, dword [esp + 0x4c]
add edi, 0xffffffff
js 0x1007c175
jmp 0x1007c130
mov eax, ebp
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + edi*4]
test ecx, ecx
mov byte [eax + 3], 0
push edx
pop edx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push ebp
push edi
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.1004f690
add esp, 0x20
test eax, eax
jne 0x1007c183
sub edi, 1
jns 0x1007c130
add ebp, 1
cmp ebp, dword [esp + 0x50]
jl 0x1007c11e
jmp 0x1007c25e
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
add edi, edx
mov dword [eax], edi
mov al, al
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add ebp, ecx
mov dword [edx], ebp
test edx, edx
mov dword [esp + 0x80], 1
push ecx
pop ecx
jmp 0x1007c25e
cmp ebx, 3
jne 0x1007c25e
mov ebp, dword [esp + 0x50]
add ebp, 0xffffffff
js 0x1007c25e
mov edi, dword [esp + 0x4c]
add edi, 0xffffffff
js 0x1007c225
jmp 0x1007c1e0
mov eax, ebp
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + edi*4]
mov ah, ah
mov byte [eax + 3], 0
mov ah, ah
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push ebp
push edi
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.1004f690
add esp, 0x20
test eax, eax
jne 0x1007c22c
sub edi, 1
jns 0x1007c1e0
sub ebp, 1
jns 0x1007c1cd
jmp 0x1007c25e
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
add edi, edx
mov dword [eax], edi
mov dl, dl
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add ebp, ecx
mov dword [edx], ebp
test bh, bh
mov dword [esp + 0x80], 1
test eax, 0x1bb4
mov eax, dword [esp + 0x14]
push eax
call fcn.100f3efb
xor esi, esi
add esp, 4
mov dword [esp + 0x14], esi
mov edx, edx
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x34]
call fcn.100e6454
mov dword [esp + 0xa4], 0xffffffff
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x1007c2a0
push eax
call fcn.100e2dad
add esp, 4
mov eax, dword [esp + 0x80]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
jmp 0x1007c2b9
fstp st(0)
xor eax, eax
mov ecx, dword [esp + 0x9c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.100f43d6
add esp, 0x94
ret