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

Disassembly:
sub esp, 0x34
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push esi
lea eax, [esp + 0xc]
push edi
lea ecx, [esp + 0x14]
push eax
mov eax, dword [ebx]
lea edx, [esp + 0x1c]
push ecx
push edx
push eax
call fcn.10084220
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
mov dword [esp + 0x34], edx
mov edx, dword [ebx]
mov edi, dword [ecx + 4]
push edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x44], ecx
call sym.GEAR32PO.OCX_GPb_height_get
mov ebp, dword [ebx + 0x70]
mov esi, eax
mov eax, dword [ebx + 0x60]
sub esi, edi
mov edi, dword [ebx + 0x68]
mov edx, dword [ebx + 0x6c]
sub edi, eax
mov eax, dword [ebx + 0x78]
sub eax, ebp
dec esi
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x74]
sub eax, edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x20], eax
mov eax, dword [ebx]
push eax
call sym.GEAR32PO.OCX_GPb_image_pointer_get
mov ecx, dword [ebx]
push ecx
mov dword [esp + 0x28], eax
call sym.GEAR32PO.OCX_GPb_bytes_per_raster_get
mov edx, dword [ebx]
push edx
mov dword [esp + 0x20], eax
call sym.GEAR32PO.OCX_GPb_palette_pointer_get
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0x10]
push eax
call fcn.10032ac0
mov ebp, eax
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x1003683a
mov ecx, dword [ebx + 0x80]
mov edx, dword [esp + 0x4c]
mov eax, dword [ecx + edx*4]
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x50], eax
call fcn.100d3780
mov eax, dword [esp + 0x30]
cmp eax, edi
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
ja 0x10036717
cmp edi, eax
jae 0x10036965
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + 0x7c]
push edx
mov edx, dword [ebx + 0x80]
push eax
push ecx
mov eax, esi
mov ecx, dword [edx + edi*4]
mov edx, dword [esp + 0x30]
push 0
sub eax, ecx
mov ecx, dword [ebx + 0x5c]
push 0
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ebp
push ecx
call dword [esp + 0x88]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100366cd
mov edx, dword [ebx + 0x80]
mov ecx, dword [edx + edi*4]
mov edx, dword [esp + 0x48]
cmp edx, ecx
je 0x100366cd
mov edx, dword [ebx + 0x68]
mov dword [esp + 0x48], ecx
sub edx, dword [ebx + 0x60]
push edx
mov edx, esi
sub edx, ecx
mov ecx, dword [esp + 0x30]
push edx
push ecx
call eax
test eax, eax
je 0x100366ec
mov edx, dword [ebx + 0x9c]
mov eax, dword [esp + 0x50]
add ebp, edx
inc edi
cmp edi, eax
jb 0x10036654
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0x18
mov edx, dword [ebx + 0x68]
mov eax, dword [ebx + 0x60]
mov ebx, dword [esp + 0x48]
sub edx, eax
sub esi, ebx
push edx
push esi
push 0xfffff7bf
push 0x65
push str.C:_accusoftgear_sourceDISPLAYDISPBAND.C
call fcn.10046940
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0x18
cmp edi, eax
jae 0x10036965
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + 0x7c]
push edx
mov edx, dword [ebx + 0x80]
push eax
push ecx
mov eax, esi
mov ecx, dword [edx + edi*4]
mov edx, dword [esp + 0x30]
push 0
sub eax, ecx
mov ecx, dword [ebx + 0x5c]
push 0
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ebp
push ecx
call dword [esp + 0x88]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10036798
mov edx, dword [ebx + 0x80]
mov ecx, dword [edx + edi*4]
mov edx, dword [esp + 0x48]
cmp edx, ecx
je 0x10036798
mov edx, dword [ebx + 0x68]
mov dword [esp + 0x48], ecx
sub edx, dword [ebx + 0x60]
push edx
mov edx, esi
sub edx, ecx
mov ecx, dword [esp + 0x30]
push edx
push ecx
call eax
test eax, eax
je 0x1003680c
mov edx, dword [ebx + 0x80]
mov ecx, dword [ebx + 0x9c]
mov eax, dword [esp + 0x50]
add ebp, ecx
mov edx, dword [edx + edi*4]
inc edi
cmp edi, eax
mov dword [esp + 0x4c], edi
jae 0x10036965
mov eax, dword [ebx + 0x80]
cmp dword [eax + edi*4], edx
jne 0x100367f8
mov esi, ebp
mov edi, ebp
sub esi, ecx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x4c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x9c]
mov esi, dword [esp + 0x50]
add ebp, ecx
inc eax
cmp eax, esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x4c], eax
mov edi, eax
jb 0x100367ba
cmp edi, dword [esp + 0x50]
jb 0x1003671f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0x18
mov ecx, dword [ebx + 0x68]
mov eax, dword [ebx + 0x60]
mov ebx, dword [esp + 0x48]
sub ecx, eax
sub esi, ebx
push ecx
push esi
push 0xfffff7bf
push 0x81
push str.C:_accusoftgear_sourceDISPLAYDISPBAND.C
call fcn.10046940
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0x18
mov eax, dword [esp + 0x30]
cmp eax, edi
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
ja 0x100368b2
cmp edi, eax
jae 0x10036965
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [ebx + 0x7c]
push ecx
mov ecx, dword [ebx + 0x80]
push edx
push eax
mov edx, esi
mov eax, dword [ecx + edi*4]
mov ecx, dword [esp + 0x30]
push 0
sub edx, eax
mov eax, dword [ebx + 0x5c]
push 0
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push ebp
push eax
call dword [esp + 0x88]
mov edx, dword [ebx + 0x9c]
mov eax, dword [esp + 0x50]
add ebp, edx
inc edi
cmp edi, eax
jb 0x10036852
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0x18
cmp edi, eax
jae 0x10036965
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ebx + 0x7c]
push eax
mov eax, dword [ebx + 0x80]
push ecx
push edx
mov ecx, esi
mov edx, dword [eax + edi*4]
mov eax, dword [esp + 0x30]
push 0
sub ecx, edx
mov edx, dword [ebx + 0x5c]
push 0
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x48]
push eax
push ecx
push ebp
push edx
call dword [esp + 0x88]
mov eax, dword [ebx + 0x80]
mov ecx, dword [ebx + 0x9c]
add ebp, ecx
mov edx, dword [eax + edi*4]
mov eax, dword [esp + 0x50]
inc edi
cmp edi, eax
mov dword [esp + 0x4c], edi
jae 0x10036965
mov eax, dword [ebx + 0x80]
cmp dword [eax + edi*4], edx
jne 0x1003695b
mov esi, ebp
mov edi, ebp
sub esi, ecx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x4c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x9c]
mov esi, dword [esp + 0x50]
add ebp, ecx
inc eax
cmp eax, esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x4c], eax
mov edi, eax
jb 0x1003691d
cmp edi, dword [esp + 0x50]
jb 0x100368ba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0x18