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

Disassembly:
sub esp, 0x4c
push edi
mov edi, dword [esp + 0x54]
test edi, edi
je 0x1003207d
push edi
call sym.leptonlib.dll_numaGetRefcount
add esp, 4
cmp eax, 1
jne 0x1003207d
push ebx
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x10032075
push ebx
call sym.leptonlib.dll_numaGetRefcount
add esp, 4
cmp eax, 1
jne 0x10032075
push esi
mov esi, dword [esp + 0x7c]
test esi, esi
je 0x1003206c
cmp dword [esp + 0x64], 0
jle 0x1003206c
cmp dword [esp + 0x68], 0
jle 0x1003206c
push 0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x58]
push ecx
push edi
call sym.leptonlib.dll_pixGetDimensions
push 0
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x64]
push eax
push ebx
call sym.leptonlib.dll_pixGetDimensions
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mov ecx, edx
add esp, 0x20
sub ecx, eax
jns 0x100314cd
sub eax, edx
jmp 0x100314cf
mov eax, ecx
cmp eax, dword [esp + 0x74]
jg 0x1003206c
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
mov ecx, edx
sub ecx, eax
jns 0x100314eb
sub eax, edx
jmp 0x100314ed
mov eax, ecx
cmp eax, dword [esp + 0x78]
jg 0x1003206c
fldz
push ebp
fld dword [esp + 0x70]
fcom st(1)
fnstsw ax
fld qword [0x10142230]
test ah, 1
jne 0x1003151e
fadd st(1), st(0)
fxch st(1)
call fcn.10140710
mov ebp, eax
mov dword [esp + 0x24], ebp
jmp 0x1003152d
fsub st(1), st(0)
fxch st(1)
call fcn.10140710
mov ebp, eax
mov dword [esp + 0x24], eax
fld dword [esp + 0x74]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 1
jne 0x10031540
faddp st(1)
jmp 0x10031542
fsubp st(1)
call fcn.10140710
fild dword [esp + 0x68]
mov ebx, eax
fmul dword [esp + 0x88]
fimul dword [esp + 0x6c]
call sub.MSVCR90.dll__CIsqrt
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCR90.dll_ceil]
call fcn.10140710
push edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x6c], 0
call sym.leptonlib.dll_dpixGetRefcount
mov ecx, dword [esp + 0x70]
push ecx
mov dword [esp + 0x48], eax
call sym.leptonlib.dll_dpixGetRefcount
mov ecx, dword [esp + 0x50]
xor edx, edx
add esp, 0x10
test ebx, ebx
setle dl
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
add eax, ebx
mov dword [esp + 0x1c], eax
dec edx
and edx, ebx
cmp eax, ecx
mov dword [esp + 0x28], edx
jl 0x100315bd
mov dword [esp + 0x1c], ecx
push edi
call sym.leptonlib.dll_pixGetData
mov ecx, dword [esp + 0x2c]
imul ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x68]
push edx
lea edi, [eax + ecx*4]
call sym.leptonlib.dll_pixGetData
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
sub ecx, ebx
imul ecx, dword [esp + 0x38]
add esp, 8
cmp edx, dword [esp + 0x40]
lea ebx, [eax + ecx*4]
jg 0x10031605
mov ecx, dword [esp + 0x84]
mov eax, edx
mov edx, dword [ecx + eax*4 - 4]
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
xor eax, eax
test ebp, ebp
setle al
dec eax
and eax, ebp
mov dword [esp + 0x2c], eax
lea eax, [ecx + ebp]
cmp eax, edx
jge 0x10031624
mov edx, eax
cmp ebp, 0x20
jl 0x100317cc
mov eax, ebp
sar eax, 5
lea edi, [edi + eax*4]
shl eax, 5
sub dword [esp + 0x2c], eax
sub edx, eax
and ebp, 0x1f
mov dword [esp + 0x24], ebp
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x2c], edx
jge 0x10031fec
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x1c]
jge 0x10031fec
add edx, 0x1f
sar edx, 5
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], eax
test ebp, ebp
jne 0x100317f8
mov ecx, dword [esp + 0x60]
jmp 0x10031680
xor eax, eax
cmp edx, 2
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x10], eax
jl 0x10031734
mov edx, ebx
sub edx, edi
lea ecx, [edi + 4]
mov dword [esp + 0x48], edx
mov eax, dword [ebx + eax*4]
and eax, dword [ecx - 4]
add ecx, 8
mov edx, eax
shr edx, 0x10
and edx, 0xff
mov edx, dword [esi + edx*4]
mov ebp, eax
shr ebp, 8
and ebp, 0xff
add edx, dword [esi + ebp*4]
mov ebp, eax
shr ebp, 0x18
add edx, dword [esi + ebp*4]
and eax, 0xff
add edx, dword [esi + eax*4]
mov eax, dword [esp + 0x48]
add dword [esp + 0x2c], edx
mov eax, dword [eax + ecx - 8]
and eax, dword [ecx - 8]
mov edx, eax
shr edx, 0x10
and edx, 0xff
mov edx, dword [esi + edx*4]
mov ebp, eax
shr ebp, 8
and ebp, 0xff
add edx, dword [esi + ebp*4]
mov ebp, eax
shr ebp, 0x18
add edx, dword [esi + ebp*4]
and eax, 0xff
add edx, dword [esi + eax*4]
mov eax, dword [esp + 0x10]
add dword [esp + 0x34], edx
mov edx, dword [esp + 0x28]
add eax, 2
lea ebp, [edx - 1]
cmp eax, ebp
mov dword [esp + 0x10], eax
jl 0x100316a2
mov ecx, dword [esp + 0x60]
cmp eax, edx
jge 0x10031770
mov ebp, dword [ebx + eax*4]
and ebp, dword [edi + eax*4]
mov eax, ebp
shr eax, 0x10
and eax, 0xff
mov eax, dword [esi + eax*4]
mov edx, ebp
shr edx, 8
and edx, 0xff
add eax, dword [esi + edx*4]
mov edx, ebp
shr edx, 0x18
add eax, dword [esi + edx*4]
mov edx, dword [esp + 0x28]
and ebp, 0xff
add eax, dword [esi + ebp*4]
add ecx, eax
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
add ebp, eax
add ecx, ebp
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x60], ecx
jge 0x10031fdf
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x14]
mov eax, dword [eax + ebp*4]
sub eax, dword [esp + 0x3c]
add eax, ecx
cmp eax, dword [esp + 0x18]
jl 0x10032062
mov eax, ebp
mov ebp, dword [esp + 0x38]
inc eax
cmp eax, dword [esp + 0x1c]
lea edi, [edi + ebp*4]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], eax
lea ebx, [ebx + ebp*4]
jl 0x10031680
jmp 0x10031ff2
cmp ebp, 0xffffffe0
jg 0x10031645
mov ecx, dword [esp + 0x30]
lea eax, [ebp + 0x1f]
sar eax, 5
neg eax
sub ecx, eax
lea ebx, [ebx + eax*4]
shl eax, 5
add ebp, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], ebp
jmp 0x10031649
jle 0x10031c48
cmp ecx, edx
jge 0x10031a40
mov eax, 0x20
sub eax, ebp
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov eax, dword [ebx]
mov ecx, ebp
shr eax, cl
and eax, dword [edi]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ecx, dword [esi + ecx*4]
mov edx, eax
shr edx, 8
and edx, 0xff
add ecx, dword [esi + edx*4]
mov edx, eax
shr edx, 0x18
add ecx, dword [esi + edx*4]
and eax, 0xff
add ecx, dword [esi + eax*4]
mov eax, 1
add dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x34]
cmp ecx, eax
mov dword [esp + 0x10], eax
jle 0x100319b2
dec ecx
cmp ecx, 2
jl 0x10031946
mov eax, edi
lea ecx, [ebx + 8]
sub eax, ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov edx, dword [ecx - 4]
mov eax, dword [ecx - 8]
mov ecx, dword [esp + 0x20]
shl eax, cl
mov ecx, edx
mov dword [esp + 0x58], ecx
mov ecx, ebp
mov ebp, edx
shr ebp, cl
mov ecx, dword [esp + 0x10]
or eax, ebp
and eax, dword [edi + ecx*4]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ecx, dword [esi + ecx*4]
mov ebp, eax
shr ebp, 8
and ebp, 0xff
add ecx, dword [esi + ebp*4]
mov ebp, eax
and eax, 0xff
shr ebp, 0x18
add ecx, dword [esi + ebp*4]
mov ebp, dword [esp + 0x24]
add ecx, dword [esi + eax*4]
mov eax, dword [esp + 0x28]
add dword [esp + 0x44], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
shl edx, cl
mov ecx, ebp
shr eax, cl
mov ecx, dword [esp + 0x2c]
or edx, eax
mov eax, dword [esp + 0x28]
and edx, dword [ecx + eax]
mov ecx, edx
shr ecx, 0x10
and ecx, 0xff
mov ecx, dword [esi + ecx*4]
mov eax, edx
shr eax, 8
and eax, 0xff
add ecx, dword [esi + eax*4]
mov eax, edx
shr eax, 0x18
add ecx, dword [esi + eax*4]
mov eax, dword [esp + 0x10]
and edx, 0xff
add ecx, dword [esi + edx*4]
mov edx, dword [esp + 0x34]
add dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x28]
add eax, 2
add ecx, 8
dec edx
cmp eax, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], ecx
jl 0x10031881
cmp eax, dword [esp + 0x34]
jge 0x100319a4
mov edx, dword [ebx + eax*4 - 4]
mov ecx, dword [esp + 0x20]
shl edx, cl
mov ecx, ebp
mov dword [esp + 0x58], edx
mov edx, dword [ebx + eax*4]
shr edx, cl
mov ecx, dword [esp + 0x58]
or ecx, edx
and ecx, dword [edi + eax*4]
mov edx, ecx
shr edx, 0x10
mov dword [esp + 0x2c], ecx
shr ecx, 8
and edx, 0xff
mov edx, dword [esi + edx*4]
and ecx, 0xff
add edx, dword [esi + ecx*4]
mov ecx, dword [esp + 0x2c]
shr ecx, 0x18
add edx, dword [esi + ecx*4]
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
add edx, dword [esi + ecx*4]
add dword [esp + 0x60], edx
inc eax
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
add edx, ecx
add dword [esp + 0x60], edx
mov edx, dword [ebx + eax*4 - 4]
mov ecx, dword [esp + 0x20]
shl edx, cl
and edx, dword [edi + eax*4]
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov eax, dword [esi + eax*4]
mov ecx, edx
shr ecx, 8
and ecx, 0xff
add eax, dword [esi + ecx*4]
mov ecx, edx
shr ecx, 0x18
add eax, dword [esi + ecx*4]
mov ecx, dword [esp + 0x60]
and edx, 0xff
add eax, dword [esi + edx*4]
add ecx, eax
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x60], ecx
jge 0x10031fdf
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x14]
mov edx, dword [edx + eax*4]
sub edx, dword [esp + 0x3c]
add edx, ecx
cmp edx, dword [esp + 0x18]
jl 0x10032062
mov edx, dword [esp + 0x38]
inc eax
cmp eax, dword [esp + 0x1c]
lea edi, [edi + edx*4]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x14], eax
lea ebx, [ebx + edx*4]
jl 0x10031811
jmp 0x10031ff2
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
mov eax, dword [ebx]
mov ecx, ebp
shr eax, cl
mov dword [esp + 0x10], 1
and eax, dword [edi]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ecx, dword [esi + ecx*4]
mov edx, eax
shr edx, 8
and edx, 0xff
add ecx, dword [esi + edx*4]
mov edx, eax
shr edx, 0x18
add ecx, dword [esi + edx*4]
and eax, 0xff
add ecx, dword [esi + eax*4]
mov edx, ecx
mov ecx, dword [esp + 0x60]
add ecx, edx
mov edx, dword [esp + 0x28]
cmp edx, 1
mov dword [esp + 0x60], ecx
jle 0x10031bfe
lea eax, [edx - 1]
cmp eax, 2
jl 0x10031b93
mov ecx, 0x20
sub ecx, ebp
mov edx, edi
lea eax, [ebx + 8]
sub edx, ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], edx
jmp 0x10031ad4
mov ecx, dword [esp + 0x20]
mov edx, dword [eax - 4]
mov eax, dword [eax - 8]
shl eax, cl
mov dword [esp + 0x58], edx
mov ecx, ebp
shr edx, cl
mov ecx, dword [esp + 0x10]
add dword [esp + 0x10], 2
or eax, edx
and eax, dword [edi + ecx*4]
mov edx, eax
shr edx, 0x10
and edx, 0xff
mov edx, dword [esi + edx*4]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
add edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0x18
add edx, dword [esi + ecx*4]
and eax, 0xff
add edx, dword [esi + eax*4]
mov ecx, ebp
add dword [esp + 0x48], edx
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov edx, dword [esp + 0x58]
shr eax, cl
mov ecx, dword [esp + 0x20]
shl edx, cl
mov ecx, dword [esp + 0x34]
or eax, edx
mov edx, dword [esp + 0x2c]
and eax, dword [ecx + edx]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ecx, dword [esi + ecx*4]
mov edx, eax
shr edx, 8
and edx, 0xff
add ecx, dword [esi + edx*4]
mov edx, eax
shr edx, 0x18
add ecx, dword [esi + edx*4]
mov edx, dword [esp + 0x28]
and eax, 0xff
add ecx, dword [esi + eax*4]
mov eax, dword [esp + 0x34]
add dword [esp + 0x44], ecx
add eax, 8
lea ecx, [edx - 1]
cmp dword [esp + 0x10], ecx
mov dword [esp + 0x34], eax
jl 0x10031ad0
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x10]
cmp eax, edx
jge 0x10031bee
mov eax, dword [ebx + eax*4 - 4]
mov ecx, 0x20
sub ecx, ebp
shl eax, cl
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx + ecx*4]
mov ecx, ebp
shr edx, cl
mov ecx, dword [esp + 0x10]
or eax, edx
and eax, dword [edi + ecx*4]
mov edx, eax
shr edx, 0x10
and edx, 0xff
mov edx, dword [esi + edx*4]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
add edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0x18
add edx, dword [esi + ecx*4]
mov ecx, dword [esp + 0x60]
and eax, 0xff
add edx, dword [esi + eax*4]
add ecx, edx
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
add edx, eax
add ecx, edx
mov dword [esp + 0x60], ecx
cmp ecx, dword [esp + 0x18]
jge 0x10031fdf
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x14]
mov edx, dword [edx + eax*4]
sub edx, dword [esp + 0x3c]
add edx, ecx
cmp edx, dword [esp + 0x18]
jl 0x10032062
mov edx, dword [esp + 0x38]
inc eax
cmp eax, dword [esp + 0x1c]
lea edi, [edi + edx*4]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x14], eax
lea ebx, [ebx + edx*4]
jl 0x10031a40
jmp 0x10031ff2
cmp edx, ecx
jge 0x10031df6
xor eax, eax
cmp dword [esp + 0x28], 2
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], eax
jl 0x10031d39
mov ecx, ebp
neg ecx
mov eax, edi
sub eax, ebx
mov dword [esp + 0x20], ecx
lea edx, [ebx + 4]
mov dword [esp + 0x2c], eax
jmp 0x10031c84
mov ecx, dword [esp + 0x20]
mov eax, dword [edx - 4]
shl eax, cl
add ebp, 0x20
mov ecx, ebp
mov ebp, dword [edx]
shr ebp, cl
mov ecx, dword [esp + 0x10]
add edx, 8
or eax, ebp
and eax, dword [edi + ecx*4]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ecx, dword [esi + ecx*4]
mov ebp, eax
shr ebp, 8
and ebp, 0xff
add ecx, dword [esi + ebp*4]
mov ebp, eax
shr ebp, 0x18
add ecx, dword [esi + ebp*4]
mov ebp, dword [edx - 8]
and eax, 0xff
add ecx, dword [esi + eax*4]
mov eax, dword [edx - 4]
add dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x24]
add ecx, 0x20
shr eax, cl
mov ecx, dword [esp + 0x20]
shl ebp, cl
mov ecx, dword [esp + 0x2c]
or eax, ebp
and eax, dword [edx + ecx - 8]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ecx, dword [esi + ecx*4]
mov ebp, eax
shr ebp, 8
and ebp, 0xff
add ecx, dword [esi + ebp*4]
mov ebp, eax
shr ebp, 0x18
add ecx, dword [esi + ebp*4]
mov ebp, dword [esp + 0x24]
and eax, 0xff
add ecx, dword [esi + eax*4]
mov eax, dword [esp + 0x10]
add dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x28]
add eax, 2
dec ecx
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x10031c80
cmp eax, dword [esp + 0x28]
jge 0x10031d94
mov edx, dword [ebx + eax*4 + 4]
lea ecx, [ebp + 0x20]
shr edx, cl
mov ecx, ebp
neg ecx
mov dword [esp + 0x58], edx
mov edx, dword [ebx + eax*4]
shl edx, cl
mov ecx, dword [esp + 0x58]
or ecx, edx
and ecx, dword [edi + eax*4]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov eax, dword [esi + eax*4]
mov edx, ecx
shr edx, 8
and edx, 0xff
add eax, dword [esi + edx*4]
mov edx, ecx
shr edx, 0x18
add eax, dword [esi + edx*4]
and ecx, 0xff
add eax, dword [esi + ecx*4]
mov edx, eax
mov eax, dword [esp + 0x60]
add eax, edx
jmp 0x10031d98
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
add ecx, edx
add eax, ecx
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x60], eax
jge 0x10031fdf
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x14]
mov edx, dword [edx + ecx*4]
sub edx, dword [esp + 0x3c]
add edx, eax
cmp edx, dword [esp + 0x18]
jl 0x10032062
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
inc ecx
cmp ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], ecx
lea edi, [edi + eax*4]
lea ebx, [ebx + edx*4]
jl 0x10031c50
mov ecx, dword [esp + 0x60]
jmp 0x10031ff2
dec edx
mov eax, ebp
neg eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x20], eax
xor eax, eax
cmp dword [esp + 0x48], 2
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x10], eax
jl 0x10031ef3
mov eax, edi
lea ecx, [ebx + 4]
sub eax, ebx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], eax
jmp 0x10031e30
mov edx, dword [ecx]
mov eax, dword [ecx - 4]
mov ecx, dword [esp + 0x20]
shl eax, cl
mov dword [esp + 0x58], edx
lea ecx, [ebp + 0x20]
shr edx, cl
mov ecx, dword [esp + 0x10]
or eax, edx
and eax, dword [edi + ecx*4]
mov edx, eax
shr edx, 0x10
and edx, 0xff
mov edx, dword [esi + edx*4]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
add edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0x18
add edx, dword [esi + ecx*4]
and eax, 0xff
add edx, dword [esi + eax*4]
lea ecx, [ebp + 0x20]
add dword [esp + 0x28], edx
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x58]
shr eax, cl
mov ecx, dword [esp + 0x20]
shl edx, cl
mov ecx, dword [esp + 0x34]
or eax, edx
mov edx, dword [esp + 0x2c]
and eax, dword [ecx + edx]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ecx, dword [esi + ecx*4]
mov edx, eax
shr edx, 8
and edx, 0xff
add ecx, dword [esi + edx*4]
mov edx, eax
shr edx, 0x18
add ecx, dword [esi + edx*4]
mov edx, dword [esp + 0x48]
and eax, 0xff
add ecx, dword [esi + eax*4]
mov eax, dword [esp + 0x10]
add dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x34]
add eax, 2
add ecx, 8
dec edx
cmp eax, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], ecx
jl 0x10031e30
cmp eax, dword [esp + 0x48]
jge 0x10031f52
mov edx, dword [ebx + eax*4 + 4]
lea ecx, [ebp + 0x20]
shr edx, cl
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x58], edx
mov edx, dword [ebx + eax*4]
shl edx, cl
mov ecx, dword [esp + 0x58]
or ecx, edx
and ecx, dword [edi + eax*4]
mov edx, ecx
shr edx, 0x10
mov dword [esp + 0x2c], ecx
shr ecx, 8
and edx, 0xff
mov edx, dword [esi + edx*4]
and ecx, 0xff
add edx, dword [esi + ecx*4]
mov ecx, dword [esp + 0x2c]
shr ecx, 0x18
add edx, dword [esi + ecx*4]
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
add edx, dword [esi + ecx*4]
add dword [esp + 0x60], edx
inc eax
mov edx, dword [ebx + eax*4]
mov ecx, dword [esp + 0x20]
shl edx, cl
and edx, dword [edi + eax*4]
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov eax, dword [esi + eax*4]
mov ecx, edx
shr ecx, 8
and ecx, 0xff
add eax, dword [esi + ecx*4]
mov ecx, edx
shr ecx, 0x18
add eax, dword [esi + ecx*4]
mov ecx, dword [esp + 0x60]
and edx, 0xff
add eax, dword [esi + edx*4]
add eax, dword [esp + 0x44]
add eax, dword [esp + 0x28]
add ecx, eax
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x60], ecx
jge 0x10031fdf
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x14]
mov edx, dword [edx + eax*4]
sub edx, dword [esp + 0x3c]
add edx, ecx
cmp edx, dword [esp + 0x18]
jl 0x10032062
mov edx, dword [esp + 0x38]
inc eax
cmp eax, dword [esp + 0x1c]
lea edi, [edi + edx*4]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x14], eax
lea ebx, [ebx + edx*4]
jl 0x10031e03
jmp 0x10031ff2
pop ebp
pop esi
pop ebx
mov eax, 1
pop edi
add esp, 0x4c
ret
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov eax, ecx
imul eax, ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x68]
imul eax, dword [esp + 0x6c]
fild dword [esp + 0x58]
mov dword [esp + 0x58], eax
fidiv dword [esp + 0x58]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fld dword [esp + 0x88]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1003205e
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x60]
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
push ecx
push edx
push str.count__d___threshold__d_but_score__g___score_threshold__g_n
call dword [sym.imp.MSVCR90.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0x20
pop ebp
pop esi
pop ebx
xor eax, eax
pop edi
add esp, 0x4c
ret
fstp st(1)
fstp st(0)
pop ebp
pop esi
pop ebx
xor eax, eax
pop edi
add esp, 0x4c
ret
pop esi
pop ebx
xor eax, eax
pop edi
add esp, 0x4c
ret
pop ebx
xor eax, eax
pop edi
add esp, 0x4c
ret
xor eax, eax
pop edi
add esp, 0x4c
ret