Function at 0x425f3c
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 0x426615
cmp dword [eax + 0x14], 0
je 0x426615
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x426615
mov eax, dword [edx + 8]
cmp eax, dword [edx]
jle 0x426615
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 4]
jle 0x426615
mov eax, dword [ecx + 8]
mov edx, dword [ecx]
cmp eax, edx
jle 0x426615
mov edi, dword [ecx + 0xc]
mov eax, dword [ecx + 4]
cmp edi, eax
jle 0x426615
test edx, edx
jl 0x426615
test eax, eax
jl 0x426615
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x14]
cmp dword [ecx + 8], esi
jg 0x426615
mov edx, dword [eax + 0x18]
cmp edi, edx
jg 0x426615
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.004286ba
mov edi, dword [esp + 0xac]
add esp, 0xc
test edi, edi
jl 0x426615
mov eax, dword [esp + 0xa4]
test eax, eax
jl 0x426615
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x14]
mov ecx, dword [esp + 0xa8]
cmp ecx, esi
jg 0x426615
mov edx, dword [edx + 0x18]
cmp dword [esp + 0xac], edx
jg 0x426615
cmp ecx, edi
jle 0x426615
cmp dword [esp + 0xac], eax
jle 0x426615
cmp dword [esp + 0x38], 0
jl 0x426615
cmp dword [esp + 0x3c], 0
jl 0x426615
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0x14]
cmp dword [esp + 0x40], edx
jg 0x426615
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0x18]
cmp dword [esp + 0x44], edx
jg 0x426615
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x40], edx
jle 0x426615
mov edx, dword [esp + 0x44]
cmp edx, dword [esp + 0x3c]
jle 0x426615
xor ebx, ebx
cmp edi, ebx
mov dword [esp + 0x24], ebx
jl 0x4260e8
mov dword [esp + 0x24], edi
cmp eax, ebx
mov dword [esp + 0x28], ebx
jl 0x4260f4
mov dword [esp + 0x28], eax
cmp esi, ecx
mov edi, esi
jl 0x4260fc
mov edi, ecx
cmp edi, ebx
jge 0x426106
mov dword [esp + 0x2c], ebx
jmp 0x426110
cmp esi, ecx
jl 0x42610c
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 0x426125
mov esi, edx
cmp esi, ebx
jge 0x42612f
mov dword [esp + 0x30], ebx
jmp 0x426139
cmp eax, edx
jge 0x426135
mov edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x88], ebx
jl 0x42614f
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x3c]
cmp eax, ebx
mov dword [esp + 0x8c], ebx
jl 0x426165
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 0x426177
mov edx, ecx
cmp edx, ebx
jge 0x42617f
xor eax, eax
jmp 0x426185
cmp eax, ecx
jl 0x426185
mov eax, ecx
mov ecx, dword [esi + 0x18]
cmp ecx, dword [esp + 0x44]
mov edx, ecx
jl 0x426194
mov edx, dword [esp + 0x44]
cmp edx, ebx
jge 0x42619c
xor ecx, ecx
jmp 0x4261a6
cmp ecx, dword [esp + 0x44]
jl 0x4261a6
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x2c], edx
jle 0x426615
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x30], ebx
jle 0x426615
cmp eax, dword [esp + 0x88]
jle 0x426615
cmp ecx, dword [esp + 0x8c]
jle 0x426615
cmp dword [edi + 8], 0
je 0x426615
cmp dword [esi + 0x4c], 0
je 0x426615
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 [0x481b88]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp]
call fcn.0044ea2c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp + 0x50]
fld qword [0x484ca8]
fstp qword [esp]
call fcn.0044ea2c
fld qword [esp + 0x50]
xor edi, edi
fcompp
pop ecx
inc edi
pop ecx
fnstsw ax
test ah, 5
jp 0x426295
mov dword [esp + 0x78], edi
jmp 0x42629a
and dword [esp + 0x78], 0
fld dword [esp + 0x6c]
push ecx
fsub qword [0x481b88]
push ecx
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp]
call fcn.0044ea2c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp + 0x50]
fld qword [0x484ca8]
fstp qword [esp]
call fcn.0044ea2c
fcomp qword [esp + 0x50]
pop ecx
pop ecx
fnstsw ax
test ah, 0x41
jne 0x4262eb
mov dword [esp + 0x74], edi
jmp 0x4262f0
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 0x426615
and dword [esp + 0x1c], 0
mov dword [esp + 0x60], esi
jmp 0x426317
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x20], 0
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
jl 0x426615
test ecx, ecx
jl 0x426615
cmp dword [esp + 0x74], 0
je 0x42633d
mov ecx, dword [esp + 0x60]
jmp 0x426350
fild dword [esp + 0x1c]
fmul dword [esp + 0x6c]
call fcn.0046aee0
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 0x4265f7
mov eax, dword [esp + 0x70]
and dword [esp + 0x50], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x84], eax
jmp 0x4263b6
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x78], 0
je 0x4263c3
mov eax, dword [esp + 0x54]
jmp 0x4263d6
fild dword [esp + 0x50]
fmul dword [esp + 0x80]
call fcn.0046aee0
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 0x426403
mov byte [esi], dl
mov byte [esi + 1], bl
mov byte [esi + 2], cl
mov byte [esi + 3], al
jmp 0x4265da
test al, al
je 0x4265da
cmp al, 0xff
jne 0x42641f
mov byte [esi], dl
mov byte [esi + 1], bl
mov byte [esi + 2], cl
mov byte [esi + 3], al
jmp 0x4265da
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 0x4265ca
cmp dl, 0xff
jne 0x426487
push 4
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004495c0
add esp, 0xc
jmp 0x4265ca
mov eax, dword [esp + 0x34]
sub eax, 0
je 0x426567
dec eax
je 0x4264a7
dec eax
jne 0x4265ca
mov dword [esp + 0xc], ecx
jmp 0x4265ca
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 0x426561
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 0x4265c6
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 0x4265c6
mov al, byte [esp + 0xf]
mov byte [esp + 0xf], al
push 4
lea eax, [esp + 0x10]
push eax
push esi
call fcn.004495c0
add esp, 0xc
add dword [esp + 0x54], 4
add esi, 4
inc dword [esp + 0x50]
dec dword [esp + 0x84]
jne 0x4263af
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 0x426313
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10