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

Disassembly:
sub esp, 0x54
push ebx
push ebp
push esi
mov esi, dword [esp + 0x64]
push edi
lea eax, [esp + 0x10]
mov ecx, dword [esi]
push 0
push eax
push 0
push ecx
call fcn.10084750
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x58], edx
mov ebx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x7c]
sub ecx, edx
mov edi, dword [eax]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi]
mov dword [esp + 0x44], edi
mov ebp, dword [eax + 4]
push ecx
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub eax, ebp
inc eax
mov dword [esp + 0x34], eax
call sym.GEAR32PO.OCX_GPb_height_get
mov edx, dword [esi + 0x6c]
sub eax, ebp
dec eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x74]
sub eax, edx
mov edx, dword [esi + 0x7c]
sub edi, ecx
lea ebp, [eax*4]
inc edi
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x54]
lea eax, [ebp + edx]
sub ebx, edi
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x38], eax
fild qword [esp + 0x34]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], eax
fild qword [esp + 0x34]
fdivp st(1)
fsub qword [0x100fc0a8]
call sub.MSVCRT.dll__ftol
mov ecx, eax
mov eax, dword [esp + 0x68]
add ecx, dword [eax - 4]
mov dword [eax], ecx
mov edx, dword [esi]
push edx
call sym.GEAR32PO.OCX_GPb_width_get
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x5c]
dec eax
mov edx, dword [ebp + ecx]
add edx, edi
cmp edx, eax
jle 0x10036ca9
mov eax, dword [esi]
push eax
call sym.GEAR32PO.OCX_GPb_width_get
mov edx, dword [esi + 0x5c]
mov ecx, dword [esi + 0x7c]
sub eax, edx
dec eax
mov dword [ebp + ecx], eax
mov edx, dword [esp + 0x30]
mov eax, dword [esi + 0x70]
mov edi, dword [esi + 0x78]
mov ebp, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x38], ecx
fild qword [esp + 0x34]
sub edi, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
sub eax, ebp
fild qword [esp + 0x34]
mov dword [esp + 0x68], eax
mov dword [esp + 0x34], edi
fild dword [esp + 0x68]
mov dword [esp + 0x38], ecx
fmul st(2)
fdiv st(1)
fild qword [esp + 0x34]
fmul st(3)
fdiv st(2)
faddp st(1)
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0x80]
fstp st(0)
mov dword [ecx + edi*4], eax
mov edi, dword [esi + 0x68]
mov ebx, dword [esi + 0x60]
mov ebp, dword [esi + 0x78]
mov edx, dword [esi + 0x70]
mov ecx, dword [esi + 0x6c]
sub edi, ebx
mov ebx, dword [esi + 0x74]
sub ebp, edx
mov edx, dword [esi]
sub ebx, ecx
push edx
fstp st(0)
mov dword [esp + 0x18], ebx
call sym.GEAR32PO.OCX_GPb_image_pointer_get
mov dword [esp + 0x28], eax
mov eax, dword [esi]
push eax
call sym.GEAR32PO.OCX_GPb_bytes_per_raster_get
mov ecx, dword [esi + 0x10]
push ecx
mov dword [esp + 0x28], eax
call fcn.10032ac0
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x34]
test eax, eax
je 0x10037002
lea edx, [esp + 0x40]
lea eax, [esp + 0x3c]
push edx
push eax
call fcn.100d3780
cmp ebp, edi
ja 0x10036fd9
mov eax, dword [esi + 0x5c]
mov ecx, eax
and ecx, 7
sar eax, 3
mov dword [esp + 0x74], ecx
mov dword [esi + 0x5c], eax
call fcn.100a0c60
mov edi, eax
lea eax, [ebx + ebx + 2]
push eax
push edi
mov dword [esp + 0x28], edi
call fcn.100a0c80
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x80]
add ebp, 0x12c
mov dword [esp + 0x10], ebp
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, 0x51eb851f
sub ecx, edx
imul ecx, ebp
mul ecx
mov eax, dword [esi + 0x7c]
mov ecx, edx
shr ecx, 7
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], ecx
sub edx, dword [eax]
mov eax, 0x51eb851f
imul edx, ebp
mul edx
shr edx, 7
cmp ecx, edx
jb 0x10036de5
mov dword [esp + 0x7c], edx
mov ecx, edx
cmp ecx, 1
ja 0x10036df2
mov dword [esp + 0x7c], 1
mov ebp, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
cmp ebp, eax
mov dword [esp + 0x1c], ebp
jae 0x10036f98
mov edi, dword [esp + 0x78]
lea ecx, [ebx + ebx + 2]
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esi + 0x80]
mov edi, dword [eax + ebp*4]
mov ecx, dword [eax + ebp*4 + 4]
cmp edi, ecx
mov dword [esp + 0x6c], edi
jae 0x10036ef4
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
mov eax, edx
sub ecx, edi
neg eax
imul ecx, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x28]
add edx, ecx
add edx, dword [esi + 0x5c]
test ebx, ebx
jbe 0x10036ed9
mov eax, dword [esp + 0x78]
mov ebp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], ebx
mov eax, dword [esi + 0x7c]
mov edi, dword [ebp + eax - 4]
cmp edi, dword [ebp + eax]
jae 0x10036eb4
mov ecx, dword [esp + 0x74]
lea eax, [ecx + edi]
mov ecx, eax
mov ebx, 0x80
and ecx, 7
sar ebx, cl
mov ecx, eax
shr ecx, 3
mov cl, byte [ecx + edx]
test cl, bl
jne 0x10036ea1
mov ecx, dword [esp + 0x18]
inc word [ecx]
mov ecx, dword [esi + 0x7c]
inc edi
inc eax
cmp edi, dword [ebp + ecx]
jb 0x10036e82
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
add ebp, 4
add edi, 2
dec eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x2c], eax
jne 0x10036e6e
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x34]
mov edx, dword [esi + 0x80]
inc edi
add ecx, eax
mov dword [esp + 0x6c], edi
cmp edi, dword [edx + ebp*4 + 4]
mov dword [esp + 0x30], ecx
jb 0x10036e50
xor eax, eax
test ebx, ebx
jbe 0x10036f47
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x6c]
xor edx, edx
mov dx, word [ecx]
mov ecx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x10036f37
mov ecx, dword [esp + 0x68]
mov edx, eax
shr edx, 3
mov ebp, dword [esp + 0x1c]
lea edi, [edx + ecx]
mov ecx, eax
and ecx, 7
mov edx, 0x80
sar edx, cl
mov cl, byte [edi]
not dl
and cl, dl
mov byte [edi], cl
mov edx, dword [esp + 0x6c]
inc eax
add edx, 2
cmp eax, ebx
mov dword [esp + 0x6c], edx
jb 0x10036f02
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10036f73
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x60]
mov edi, dword [esp + 0x48]
sub ecx, edx
mov edx, dword [esi + 0x80]
push ecx
mov ecx, edi
sub ecx, dword [edx + ebp*4]
mov edx, dword [esp + 0x44]
push ecx
push edx
call eax
test eax, eax
je 0x10036fa8
mov eax, dword [esi + 0x9c]
mov edx, dword [esp + 0x68]
add edx, eax
mov eax, dword [esp + 0x70]
inc ebp
mov dword [esp + 0x68], edx
cmp ebp, eax
mov dword [esp + 0x1c], ebp
jb 0x10036e06
mov edi, dword [esp + 0x20]
push edi
call fcn.100a12c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x18
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x60]
sub ecx, edx
mov edx, dword [esi + 0x80]
push ecx
sub edi, dword [edx + ebp*4]
push edi
push 0xfffff7bf
push 0x19f
push str.C:_accusoftgear_sourceDISPLAYDISPBAND.C
call fcn.10046940
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x18
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x74]
push edx
push eax
push ecx
push esi
call fcn.10036570
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x18
cmp ebp, edi
ja 0x10037351
mov eax, dword [esi + 0x5c]
mov ecx, eax
sar eax, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x10]
and ecx, 7
cmp eax, 0x64
mov dword [esp + 0x74], ecx
je 0x1003722b
call fcn.100a0c60
mov ebp, eax
lea eax, [ebx + ebx + 2]
push eax
push ebp
mov dword [esp + 0x28], ebp
call fcn.100a0c80
mov edi, dword [esp + 0x10]
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x80]
add edi, 0x12c
mov dword [esp + 0x10], edi
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov eax, 0x51eb851f
sub edx, ecx
imul edx, edi
mul edx
mov eax, dword [esi + 0x7c]
mov ecx, edx
shr ecx, 7
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], ecx
sub edx, dword [eax]
mov eax, 0x51eb851f
imul edx, edi
mul edx
shr edx, 7
cmp ecx, edx
jb 0x10037090
mov dword [esp + 0x7c], edx
mov ecx, edx
cmp ecx, 1
ja 0x1003709d
mov dword [esp + 0x7c], 1
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jae 0x1003721b
lea ebp, [ecx*4 + 4]
sub eax, ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x78]
lea ecx, [ebx + ebx + 2]
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esi + 0x80]
mov edi, dword [ebp + eax - 4]
mov ecx, dword [ebp + eax]
cmp edi, ecx
mov dword [esp + 0x6c], edi
jae 0x100371ad
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
mov eax, edx
sub ecx, edi
neg eax
imul ecx, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x28]
add edx, ecx
add edx, dword [esi + 0x5c]
test ebx, ebx
jbe 0x10037192
mov eax, dword [esp + 0x78]
mov ebp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x30], ebx
mov eax, dword [esi + 0x7c]
mov edi, dword [ebp + eax - 4]
cmp edi, dword [ebp + eax]
jae 0x1003716d
mov ecx, dword [esp + 0x74]
lea eax, [ecx + edi]
mov ecx, eax
mov ebx, 0x80
and ecx, 7
sar ebx, cl
mov ecx, eax
shr ecx, 3
mov cl, byte [ecx + edx]
test cl, bl
jne 0x1003715a
mov ecx, dword [esp + 0x70]
inc word [ecx]
mov ecx, dword [esi + 0x7c]
inc edi
inc eax
cmp edi, dword [ebp + ecx]
jb 0x1003713b
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x30]
add ebp, 4
add edi, 2
dec eax
mov dword [esp + 0x70], edi
mov dword [esp + 0x30], eax
jne 0x10037127
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esi + 0x80]
inc edi
add ecx, eax
mov dword [esp + 0x6c], edi
cmp edi, dword [ebp + edx]
mov dword [esp + 0x2c], ecx
jb 0x10037109
xor eax, eax
test ebx, ebx
jbe 0x100371f1
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
xor ecx, ecx
mov cx, word [ebp]
cmp ecx, edx
jb 0x100371e5
mov ecx, dword [esp + 0x68]
mov edx, eax
shr edx, 3
lea edi, [edx + ecx]
mov ecx, eax
and ecx, 7
mov edx, 0x80
sar edx, cl
mov cl, byte [edi]
not dl
and cl, dl
mov byte [edi], cl
inc eax
add ebp, 2
cmp eax, ebx
jb 0x100371b7
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 0x9c]
mov edx, dword [esp + 0x68]
add edx, eax
mov eax, dword [esp + 0x18]
add ebp, 4
dec eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], eax
jne 0x100370be
mov ebp, dword [esp + 0x20]
push ebp
call fcn.100a12c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x18
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jae 0x10037370
lea ebp, [ecx*4 + 4]
sub eax, ecx
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x80]
mov edx, dword [ebp + eax - 4]
mov ecx, dword [ebp + eax]
cmp edx, ecx
mov dword [esp + 0x6c], edx
jae 0x10037321
mov eax, dword [esp + 0x24]
mov ecx, eax
neg ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x48]
sub ecx, edx
imul ecx, eax
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x28]
mov edi, dword [esi + 0x5c]
add edx, ecx
add edx, edi
xor edi, edi
test ebx, ebx
jbe 0x100372fc
mov eax, dword [esi + 0x7c]
mov ebp, dword [eax + edi*4]
mov eax, dword [eax + edi*4 + 4]
cmp ebp, eax
mov dword [esp + 0x34], eax
jae 0x100372ef
mov eax, dword [esp + 0x74]
add eax, ebp
mov ecx, eax
mov ebx, 0x80
and ecx, 7
sar ebx, cl
mov ecx, eax
shr ecx, 3
mov cl, byte [ecx + edx]
test cl, bl
je 0x100372cc
mov ecx, dword [esp + 0x34]
inc ebp
inc eax
cmp ebp, ecx
jb 0x100372a8
jmp 0x100372eb
mov ecx, dword [esp + 0x68]
mov eax, edi
shr eax, 3
add eax, ecx
mov ecx, edi
and ecx, 7
mov ebx, 0x80
sar ebx, cl
mov cl, byte [eax]
not bl
and cl, bl
mov byte [eax], cl
mov ebx, dword [esp + 0x14]
inc edi
cmp edi, ebx
jb 0x10037290
mov ebp, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x6c]
add ecx, edx
mov edx, dword [esi + 0x80]
inc eax
mov dword [esp + 0x70], ecx
mov edi, dword [ebp + edx]
mov dword [esp + 0x6c], eax
cmp eax, edi
jb 0x1003727f
mov eax, dword [esi + 0x9c]
mov edx, dword [esp + 0x68]
add edx, eax
mov eax, dword [esp + 0x78]
add ebp, 4
dec eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], eax
jne 0x1003724c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x18
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x74]
push eax
push ecx
push edx
push esi
call fcn.10036570
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x18