Function at 0x426ba7
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 0x427280
cmp dword [eax + 0x14], 0
je 0x427280
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x427280
mov eax, dword [edx + 8]
cmp eax, dword [edx]
jle 0x427280
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 4]
jle 0x427280
mov eax, dword [ecx + 8]
mov edx, dword [ecx]
cmp eax, edx
jle 0x427280
mov edi, dword [ecx + 0xc]
mov eax, dword [ecx + 4]
cmp edi, eax
jle 0x427280
test edx, edx
jl 0x427280
test eax, eax
jl 0x427280
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x14]
cmp dword [ecx + 8], esi
jg 0x427280
mov edx, dword [eax + 0x18]
cmp edi, edx
jg 0x427280
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.00429325
mov edi, dword [esp + 0xac]
add esp, 0xc
test edi, edi
jl 0x427280
mov eax, dword [esp + 0xa4]
test eax, eax
jl 0x427280
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x14]
mov ecx, dword [esp + 0xa8]
cmp ecx, esi
jg 0x427280
mov edx, dword [edx + 0x18]
cmp dword [esp + 0xac], edx
jg 0x427280
cmp ecx, edi
jle 0x427280
cmp dword [esp + 0xac], eax
jle 0x427280
cmp dword [esp + 0x38], 0
jl 0x427280
cmp dword [esp + 0x3c], 0
jl 0x427280
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0x14]
cmp dword [esp + 0x40], edx
jg 0x427280
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0x18]
cmp dword [esp + 0x44], edx
jg 0x427280
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x40], edx
jle 0x427280
mov edx, dword [esp + 0x44]
cmp edx, dword [esp + 0x3c]
jle 0x427280
xor ebx, ebx
cmp edi, ebx
mov dword [esp + 0x24], ebx
jl 0x426d53
mov dword [esp + 0x24], edi
cmp eax, ebx
mov dword [esp + 0x28], ebx
jl 0x426d5f
mov dword [esp + 0x28], eax
cmp esi, ecx
mov edi, esi
jl 0x426d67
mov edi, ecx
cmp edi, ebx
jge 0x426d71
mov dword [esp + 0x2c], ebx
jmp 0x426d7b
cmp esi, ecx
jl 0x426d77
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 0x426d90
mov esi, edx
cmp esi, ebx
jge 0x426d9a
mov dword [esp + 0x30], ebx
jmp 0x426da4
cmp eax, edx
jge 0x426da0
mov edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x88], ebx
jl 0x426dba
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x3c]
cmp eax, ebx
mov dword [esp + 0x8c], ebx
jl 0x426dd0
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 0x426de2
mov edx, ecx
cmp edx, ebx
jge 0x426dea
xor eax, eax
jmp 0x426df0
cmp eax, ecx
jl 0x426df0
mov eax, ecx
mov ecx, dword [esi + 0x18]
cmp ecx, dword [esp + 0x44]
mov edx, ecx
jl 0x426dff
mov edx, dword [esp + 0x44]
cmp edx, ebx
jge 0x426e07
xor ecx, ecx
jmp 0x426e11
cmp ecx, dword [esp + 0x44]
jl 0x426e11
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x2c], edx
jle 0x427280
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x30], ebx
jle 0x427280
cmp eax, dword [esp + 0x88]
jle 0x427280
cmp ecx, dword [esp + 0x8c]
jle 0x427280
cmp dword [edi + 8], 0
je 0x427280
cmp dword [esi + 0x4c], 0
je 0x427280
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 [0x482a60]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp]
call fcn.0044fa49
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp + 0x50]
fld qword [0x485b80]
fstp qword [esp]
call fcn.0044fa49
fld qword [esp + 0x50]
xor edi, edi
fcompp
pop ecx
inc edi
pop ecx
fnstsw ax
test ah, 5
jp 0x426f00
mov dword [esp + 0x78], edi
jmp 0x426f05
and dword [esp + 0x78], 0
fld dword [esp + 0x6c]
push ecx
fsub qword [0x482a60]
push ecx
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp]
call fcn.0044fa49
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp qword [esp + 0x50]
fld qword [0x485b80]
fstp qword [esp]
call fcn.0044fa49
fcomp qword [esp + 0x50]
pop ecx
pop ecx
fnstsw ax
test ah, 0x41
jne 0x426f56
mov dword [esp + 0x74], edi
jmp 0x426f5b
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 0x427280
and dword [esp + 0x1c], 0
mov dword [esp + 0x60], esi
jmp 0x426f82
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x20], 0
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
jl 0x427280
test ecx, ecx
jl 0x427280
cmp dword [esp + 0x74], 0
je 0x426fa8
mov ecx, dword [esp + 0x60]
jmp 0x426fbb
fild dword [esp + 0x1c]
fmul dword [esp + 0x6c]
call fcn.0046bfc0
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 0x427262
mov eax, dword [esp + 0x70]
and dword [esp + 0x50], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x84], eax
jmp 0x427021
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x78], 0
je 0x42702e
mov eax, dword [esp + 0x54]
jmp 0x427041
fild dword [esp + 0x50]
fmul dword [esp + 0x80]
call fcn.0046bfc0
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 0x42706e
mov byte [esi], dl
mov byte [esi + 1], bl
mov byte [esi + 2], cl
mov byte [esi + 3], al
jmp 0x427245
test al, al
je 0x427245
cmp al, 0xff
jne 0x42708a
mov byte [esi], dl
mov byte [esi + 1], bl
mov byte [esi + 2], cl
mov byte [esi + 3], al
jmp 0x427245
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 0x427235
cmp dl, 0xff
jne 0x4270f2
push 4
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.0044a360
add esp, 0xc
jmp 0x427235
mov eax, dword [esp + 0x34]
sub eax, 0
je 0x4271d2
dec eax
je 0x427112
dec eax
jne 0x427235
mov dword [esp + 0xc], ecx
jmp 0x427235
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 0x4271cc
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 0x427231
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 0x427231
mov al, byte [esp + 0xf]
mov byte [esp + 0xf], al
push 4
lea eax, [esp + 0x10]
push eax
push esi
call fcn.0044a360
add esp, 0xc
add dword [esp + 0x54], 4
add esi, 4
inc dword [esp + 0x50]
dec dword [esp + 0x84]
jne 0x42701a
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 0x426f7e
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10