Function at 0x425df5
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 0x4264ce
cmp dword [eax + 0x14], 0
je 0x4264ce
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x4264ce
mov eax, dword [edx + 8]
cmp eax, dword [edx]
jle 0x4264ce
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 4]
jle 0x4264ce
mov eax, dword [ecx + 8]
mov edx, dword [ecx]
cmp eax, edx
jle 0x4264ce
mov edi, dword [ecx + 0xc]
mov eax, dword [ecx + 4]
cmp edi, eax
jle 0x4264ce
test edx, edx
jl 0x4264ce
test eax, eax
jl 0x4264ce
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x14]
cmp dword [ecx + 8], esi
jg 0x4264ce
mov edx, dword [eax + 0x18]
cmp edi, edx
jg 0x4264ce
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.00425b2c
mov edi, dword [esp + 0xac]
add esp, 0xc
test edi, edi
jl 0x4264ce
mov eax, dword [esp + 0xa4]
test eax, eax
jl 0x4264ce
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x14]
mov ecx, dword [esp + 0xa8]
cmp ecx, esi
jg 0x4264ce
mov edx, dword [edx + 0x18]
cmp dword [esp + 0xac], edx
jg 0x4264ce
cmp ecx, edi
jle 0x4264ce
cmp dword [esp + 0xac], eax
jle 0x4264ce
cmp dword [esp + 0x38], 0
jl 0x4264ce
cmp dword [esp + 0x3c], 0
jl 0x4264ce
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0x14]
cmp dword [esp + 0x40], edx
jg 0x4264ce
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0x18]
cmp dword [esp + 0x44], edx
jg 0x4264ce
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x40], edx
jle 0x4264ce
mov edx, dword [esp + 0x44]
cmp edx, dword [esp + 0x3c]
jle 0x4264ce
xor ebx, ebx
cmp edi, ebx
mov dword [esp + 0x24], ebx
jl 0x425fa1
mov dword [esp + 0x24], edi
cmp eax, ebx
mov dword [esp + 0x28], ebx
jl 0x425fad
mov dword [esp + 0x28], eax
cmp esi, ecx
mov edi, esi
jl 0x425fb5
mov edi, ecx
cmp edi, ebx
jge 0x425fbf
mov dword [esp + 0x2c], ebx
jmp 0x425fc9
cmp esi, ecx
jl 0x425fc5
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 0x425fde
mov esi, edx
cmp esi, ebx
jge 0x425fe8
mov dword [esp + 0x30], ebx
jmp 0x425ff2
cmp eax, edx
jge 0x425fee
mov edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x88], ebx
jl 0x426008
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x3c]
cmp eax, ebx
mov dword [esp + 0x8c], ebx
jl 0x42601e
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 0x426030
mov edx, ecx
cmp edx, ebx
jge 0x426038
xor eax, eax
jmp 0x42603e
cmp eax, ecx
jl 0x42603e
mov eax, ecx
mov ecx, dword [esi + 0x18]
cmp ecx, dword [esp + 0x44]
mov edx, ecx
jl 0x42604d
mov edx, dword [esp + 0x44]
cmp edx, ebx
jge 0x426055
xor ecx, ecx
jmp 0x42605f
cmp ecx, dword [esp + 0x44]
jl 0x42605f
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x2c], edx
jle 0x4264ce
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x30], ebx
jle 0x4264ce
cmp eax, dword [esp + 0x88]
jle 0x4264ce
cmp ecx, dword [esp + 0x8c]
jle 0x4264ce
cmp dword [edi + 8], 0
je 0x4264ce
cmp dword [esi + 0x4c], 0
je 0x4264ce
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 [0x481a50]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp]
call fcn.0044e61c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp + 0x50]
fld qword [0x484b70]
fstp qword [esp]
call fcn.0044e61c
fld qword [esp + 0x50]
xor edi, edi
fcompp
pop ecx
inc edi
pop ecx
fnstsw ax
test ah, 5
jp 0x42614e
mov dword [esp + 0x78], edi
jmp 0x426153
and dword [esp + 0x78], 0
fld dword [esp + 0x6c]
push ecx
fsub qword [0x481a50]
push ecx
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp]
call fcn.0044e61c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp + 0x50]
fld qword [0x484b70]
fstp qword [esp]
call fcn.0044e61c
fcomp qword [esp + 0x50]
pop ecx
pop ecx
fnstsw ax
test ah, 0x41
jne 0x4261a4
mov dword [esp + 0x74], edi
jmp 0x4261a9
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 0x4264ce
and dword [esp + 0x1c], 0
mov dword [esp + 0x60], esi
jmp 0x4261d0
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x20], 0
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
jl 0x4264ce
test ecx, ecx
jl 0x4264ce
cmp dword [esp + 0x74], 0
je 0x4261f6
mov ecx, dword [esp + 0x60]
jmp 0x426209
fild dword [esp + 0x1c]
fmul dword [esp + 0x6c]
call fcn.0046aac0
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 0x4264b0
mov eax, dword [esp + 0x70]
and dword [esp + 0x50], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x84], eax
jmp 0x42626f
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x78], 0
je 0x42627c
mov eax, dword [esp + 0x54]
jmp 0x42628f
fild dword [esp + 0x50]
fmul dword [esp + 0x80]
call fcn.0046aac0
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 0x4262bc
mov byte [esi], dl
mov byte [esi + 1], bl
mov byte [esi + 2], cl
mov byte [esi + 3], al
jmp 0x426493
test al, al
je 0x426493
cmp al, 0xff
jne 0x4262d8
mov byte [esi], dl
mov byte [esi + 1], bl
mov byte [esi + 2], cl
mov byte [esi + 3], al
jmp 0x426493
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 0x426483
cmp dl, 0xff
jne 0x426340
push 4
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004491b0
add esp, 0xc
jmp 0x426483
mov eax, dword [esp + 0x34]
sub eax, 0
je 0x426420
dec eax
je 0x426360
dec eax
jne 0x426483
mov dword [esp + 0xc], ecx
jmp 0x426483
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 0x42641a
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 0x42647f
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 0x42647f
mov al, byte [esp + 0xf]
mov byte [esp + 0xf], al
push 4
lea eax, [esp + 0x10]
push eax
push esi
call fcn.004491b0
add esp, 0xc
add dword [esp + 0x54], 4
add esi, 4
inc dword [esp + 0x50]
dec dword [esp + 0x84]
jne 0x426268
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 0x4261cc
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10