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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
sub esp, 0xa4
cmp dword [eax + 8], 0
push ebx
push esi
push edi
je 0x10026257
cmp dword [eax + 0x14], 0
je 0x10026257
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x10026257
mov eax, dword [edx + 8]
cmp eax, dword [edx]
jle 0x10026257
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 4]
jle 0x10026257
mov eax, dword [ecx + 8]
mov edx, dword [ecx]
cmp eax, edx
jle 0x10026257
mov edi, dword [ecx + 0xc]
mov eax, dword [ecx + 4]
cmp edi, eax
jle 0x10026257
test edx, edx
jl 0x10026257
test eax, eax
jl 0x10026257
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x14]
cmp dword [ecx + 8], esi
jg 0x10026257
mov edx, dword [eax + 0x18]
cmp edi, edx
jg 0x10026257
and dword [esp + 0x38], 0
and dword [esp + 0xa0], 0
xor eax, eax
lea edi, [esp + 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0xa4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x58], edx
mov eax, ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0xac]
mov dword [esp + 0x54], esi
mov dword [esp + 0xa8], ebx
call fcn.10028300
mov edi, dword [esp + 0xac]
add esp, 0xc
test edi, edi
jl 0x10026257
mov eax, dword [esp + 0xa4]
test eax, eax
jl 0x10026257
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x14]
mov ecx, dword [esp + 0xa8]
cmp ecx, esi
jg 0x10026257
mov edx, dword [edx + 0x18]
cmp dword [esp + 0xac], edx
jg 0x10026257
cmp ecx, edi
jle 0x10026257
cmp dword [esp + 0xac], eax
jle 0x10026257
cmp dword [esp + 0x38], 0
jl 0x10026257
cmp dword [esp + 0x3c], 0
jl 0x10026257
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0x14]
cmp dword [esp + 0x40], edx
jg 0x10026257
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0x18]
cmp dword [esp + 0x44], edx
jg 0x10026257
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x40], edx
jle 0x10026257
mov edx, dword [esp + 0x44]
cmp edx, dword [esp + 0x3c]
jle 0x10026257
xor ebx, ebx
cmp edi, ebx
mov dword [esp + 0x24], ebx
jl 0x10025d2a
mov dword [esp + 0x24], edi
cmp eax, ebx
mov dword [esp + 0x28], ebx
jl 0x10025d36
mov dword [esp + 0x28], eax
cmp esi, ecx
mov edi, esi
jl 0x10025d3e
mov edi, ecx
cmp edi, ebx
jge 0x10025d48
mov dword [esp + 0x2c], ebx
jmp 0x10025d52
cmp esi, ecx
jl 0x10025d4e
mov esi, ecx
mov dword [esp + 0x2c], esi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x18]
mov edx, dword [esp + 0xac]
cmp eax, edx
mov esi, eax
jl 0x10025d67
mov esi, edx
cmp esi, ebx
jge 0x10025d71
mov dword [esp + 0x30], ebx
jmp 0x10025d7b
cmp eax, edx
jge 0x10025d77
mov edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x88], ebx
jl 0x10025d91
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x3c]
cmp eax, ebx
mov dword [esp + 0x8c], ebx
jl 0x10025da7
mov dword [esp + 0x8c], eax
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
mov edx, eax
jl 0x10025db9
mov edx, ecx
cmp edx, ebx
jge 0x10025dc1
xor eax, eax
jmp 0x10025dc7
cmp eax, ecx
jl 0x10025dc7
mov eax, ecx
mov ecx, dword [esi + 0x18]
cmp ecx, dword [esp + 0x44]
mov edx, ecx
jl 0x10025dd6
mov edx, dword [esp + 0x44]
cmp edx, ebx
jge 0x10025dde
xor ecx, ecx
jmp 0x10025de8
cmp ecx, dword [esp + 0x44]
jl 0x10025de8
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x2c], edx
jle 0x10026257
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x30], ebx
jle 0x10026257
cmp eax, dword [esp + 0x88]
jle 0x10026257
cmp ecx, dword [esp + 0x8c]
jle 0x10026257
cmp dword [edi + 8], 0
je 0x10026257
cmp dword [esi + 0x4c], 0
je 0x10026257
sub eax, dword [esp + 0x88]
mov edx, dword [esp + 0x2c]
sub edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x30]
mov esi, ecx
fidiv dword [esp + 0x70]
sub esi, dword [esp + 0x8c]
sub eax, ebx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x1c], eax
push ecx
push ecx
fstp dword [esp + 0x88]
fild dword [esp + 0x84]
fidiv dword [esp + 0x24]
fstp dword [esp + 0x74]
fld dword [esp + 0x88]
fsub qword [0x1008d168]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp]
call fcn.1005a511
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp + 0x50]
fld qword [0x10091630]
fstp qword [esp]
call fcn.1005a511
fld qword [esp + 0x50]
xor edi, edi
fcompp
pop ecx
inc edi
pop ecx
fnstsw ax
test ah, 5
jp 0x10025ed7
mov dword [esp + 0x78], edi
jmp 0x10025edc
and dword [esp + 0x78], 0
fld dword [esp + 0x6c]
push ecx
fsub qword [0x1008d168]
push ecx
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp]
call fcn.1005a511
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp + 0x50]
fld qword [0x10091630]
fstp qword [esp]
call fcn.1005a511
fcomp qword [esp + 0x50]
pop ecx
pop ecx
fnstsw ax
test ah, 0x41
jne 0x10025f2d
mov dword [esp + 0x74], edi
jmp 0x10025f32
and dword [esp + 0x74], 0
cmp ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x20], eax
mov ecx, esi
jge 0x10026257
and dword [esp + 0x1c], 0
mov dword [esp + 0x60], esi
jmp 0x10025f59
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x20], 0
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
jl 0x10026257
test ecx, ecx
jl 0x10026257
cmp dword [esp + 0x74], 0
je 0x10025f7f
mov ecx, dword [esp + 0x60]
jmp 0x10025f92
fild dword [esp + 0x1c]
fmul dword [esp + 0x6c]
call fcn.10076b40
mov ecx, dword [esp + 0x7c]
sub ecx, eax
mov edx, dword [esi + 0x40]
sub edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
sub edx, ebx
imul edx, dword [esi + 0x44]
add edx, dword [esi + 0x4c]
mov dword [esp + 0x10], ecx
lea esi, [edx + eax*4]
mov edx, dword [edi + 0x40]
sub edx, ecx
sub edx, dword [esp + 0x8c]
imul edx, dword [edi + 0x44]
add edx, dword [edi + 0x4c]
cmp eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x88]
lea edi, [edx + edi*4]
mov dword [esp + 0x98], edi
jge 0x10026239
mov eax, dword [esp + 0x70]
and dword [esp + 0x50], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x84], eax
jmp 0x10025ff8
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x78], 0
je 0x10026005
mov eax, dword [esp + 0x54]
jmp 0x10026018
fild dword [esp + 0x50]
fmul dword [esp + 0x80]
call fcn.10076b40
lea eax, [edi + eax*4]
mov edi, dword [ebp + 0x14]
mov edi, dword [edi]
cmp edi, 2
mov cl, byte [eax + 2]
mov dl, byte [eax]
mov bl, byte [eax + 1]
mov al, byte [eax + 3]
mov byte [esp + 0x4a], cl
mov dword [esp + 0x34], edi
jne 0x10026045
mov byte [esi], dl
mov byte [esi + 1], bl
mov byte [esi + 2], cl
mov byte [esi + 3], al
jmp 0x1002621c
test al, al
je 0x1002621c
cmp al, 0xff
jne 0x10026061
mov byte [esi], dl
mov byte [esi + 1], bl
mov byte [esi + 2], cl
mov byte [esi + 3], al
jmp 0x1002621c
movzx edi, byte [esi + 1]
xor ecx, ecx
mov ch, byte [esi + 3]
mov cl, byte [esi + 2]
shl ecx, 8
or ecx, edi
movzx edi, byte [esi]
shl ecx, 8
or ecx, edi
mov dword [esp + 0xc], ecx
movzx ecx, al
movzx eax, byte [esp + 0x4a]
shl ecx, 8
or ecx, eax
shl ecx, 8
movzx eax, bl
or ecx, eax
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [esp + 0x18], ecx
mov dl, byte [esp + 0x1b]
test dl, dl
je 0x1002620c
cmp dl, 0xff
jne 0x100260c9
push 4
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.10055010
add esp, 0xc
jmp 0x1002620c
mov eax, dword [esp + 0x34]
sub eax, 0
je 0x100261a9
dec eax
je 0x100260e9
dec eax
jne 0x1002620c
mov dword [esp + 0xc], ecx
jmp 0x1002620c
movzx eax, byte [esp + 0xf]
movzx edi, dl
mov dword [esp + 0x58], eax
imul eax, edi
mov dword [esp + 0x68], eax
cdq
mov ebx, 0xff
idiv ebx
mov dword [esp + 0x34], edi
mov edx, eax
mov al, byte [esp + 0xf]
sub al, dl
add al, byte [esp + 0x1b]
mov byte [esp + 0x17], al
je 0x100261a3
movzx edx, byte [esp + 0xc]
movzx eax, al
shl eax, 8
mov dword [esp + 0x5c], eax
movzx eax, cl
imul eax, edi
mov edi, edx
imul edx, dword [esp + 0x68]
imul edi, dword [esp + 0x58]
add eax, edi
shl eax, 8
sub eax, edx
cdq
idiv dword [esp + 0x5c]
movzx edx, byte [esp + 0xd]
mov byte [esp + 0xc], al
movzx eax, ch
imul eax, dword [esp + 0x34]
mov ecx, edx
imul edx, dword [esp + 0x68]
imul ecx, dword [esp + 0x58]
add eax, ecx
shl eax, 8
sub eax, edx
cdq
idiv dword [esp + 0x5c]
movzx ecx, byte [esp + 0xe]
mov edx, ecx
imul ecx, dword [esp + 0x68]
imul edx, dword [esp + 0x58]
mov byte [esp + 0xd], al
movzx eax, byte [esp + 0x1a]
imul eax, dword [esp + 0x34]
add eax, edx
shl eax, 8
sub eax, ecx
cdq
idiv dword [esp + 0x5c]
mov byte [esp + 0xe], al
mov al, byte [esp + 0x17]
jmp 0x10026208
movzx ebx, byte [esp + 0xc]
mov al, dl
not al
movzx edi, al
movzx eax, cl
imul ebx, edi
movzx edx, dl
imul eax, edx
add eax, ebx
sar eax, 8
mov byte [esp + 0xc], al
movzx eax, ch
movzx ecx, byte [esp + 0xd]
imul eax, edx
imul ecx, edi
add eax, ecx
movzx ecx, byte [esp + 0xe]
sar eax, 8
imul ecx, edi
mov byte [esp + 0xd], al
movzx eax, byte [esp + 0x1a]
imul eax, edx
add eax, ecx
sar eax, 8
mov byte [esp + 0xe], al
mov al, byte [esp + 0x1b]
cmp al, byte [esp + 0xf]
ja 0x10026208
mov al, byte [esp + 0xf]
mov byte [esp + 0xf], al
push 4
lea eax, [esp + 0x10]
push eax
push esi
call fcn.10055010
add esp, 0xc
add dword [esp + 0x54], 4
add esi, 4
inc dword [esp + 0x50]
dec dword [esp + 0x84]
jne 0x10025ff1
mov ecx, dword [esp + 0x10]
inc dword [esp + 0x64]
dec dword [esp + 0x60]
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
dec dword [esp + 0x20]
cmp eax, dword [esp + 0x30]
jl 0x10025f55
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10