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

Disassembly:
push 0xffffffffffffffff
push 0x561819
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xdc
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x18]
call fcn.0048d7f0
mov ebp, vtable.CBitmap.0
mov dword [esp + 0x18], ebp
lea ecx, [esp + 0x10]
mov dword [esp + 0xf4], 0
call fcn.0048d7f0
mov dword [esp + 0x10], ebp
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 1
call fcn.0048d7f0
mov dword [esp + 0x34], ebp
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 2
call fcn.0048d7f0
mov dword [esp + 0x24], ebp
mov bl, 3
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], bl
call fcn.0048d7f0
mov dword [esp + 0x2c], ebp
mov byte [esp + 0xf4], 4
call fcn.00559b5f
mov eax, dword [eax + 0xc]
mov edi, dword [0x7033d8]
push 0xaa
push eax
call edi
push eax
lea ecx, [esp + 0x1c]
call fcn.0054b54c
test eax, eax
jne 0x48b597
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], bl
mov dword [esp + 0x2c], ebp
call fcn.00469860
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 2
mov dword [esp + 0x24], ebp
call fcn.00469860
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 1
mov dword [esp + 0x34], ebp
call fcn.00469860
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 0
mov dword [esp + 0x10], ebp
call fcn.00469860
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], 0xffffffff
mov dword [esp + 0x18], ebp
call fcn.00469860
jmp 0x48c1c4
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x8c]
push eax
push 0x18
push ecx
call dword [0x703214]
mov eax, dword [esp + 0x90]
test eax, eax
jg 0x48b627
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], bl
mov dword [esp + 0x2c], ebp
call fcn.00469860
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 2
mov dword [esp + 0x24], ebp
call fcn.00469860
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 1
mov dword [esp + 0x34], ebp
call fcn.00469860
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 0
mov dword [esp + 0x10], ebp
call fcn.00469860
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], 0xffffffff
mov dword [esp + 0x18], ebp
call fcn.00469860
jmp 0x48c1c4
call fcn.00559b5f
mov eax, dword [eax + 0xc]
push 0xaf
push eax
call edi
push eax
lea ecx, [esp + 0x14]
call fcn.0054b54c
test eax, eax
jne 0x48b6b5
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], bl
mov dword [esp + 0x2c], ebp
call fcn.00469860
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 2
mov dword [esp + 0x24], ebp
call fcn.00469860
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 1
mov dword [esp + 0x34], ebp
call fcn.00469860
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 0
mov dword [esp + 0x10], ebp
call fcn.00469860
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], 0xffffffff
mov dword [esp + 0x18], ebp
call fcn.00469860
jmp 0x48c1c4
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xa4]
push edx
push 0x18
push eax
call dword [0x703214]
mov eax, dword [esp + 0xa8]
test eax, eax
jg 0x48b745
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], bl
mov dword [esp + 0x2c], ebp
call fcn.00469860
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 2
mov dword [esp + 0x24], ebp
call fcn.00469860
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 1
mov dword [esp + 0x34], ebp
call fcn.00469860
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 0
mov dword [esp + 0x10], ebp
call fcn.00469860
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], 0xffffffff
mov dword [esp + 0x18], ebp
call fcn.00469860
jmp 0x48c1c4
call fcn.00559b5f
mov eax, dword [eax + 0xc]
push 0x174
push eax
call edi
push eax
lea ecx, [esp + 0x28]
call fcn.0054b54c
test eax, eax
jne 0x48b7d3
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], bl
mov dword [esp + 0x2c], ebp
call fcn.00469860
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 2
mov dword [esp + 0x24], ebp
call fcn.00469860
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 1
mov dword [esp + 0x34], ebp
call fcn.00469860
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 0
mov dword [esp + 0x10], ebp
call fcn.00469860
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], 0xffffffff
mov dword [esp + 0x18], ebp
call fcn.00469860
jmp 0x48c1c4
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xbc]
push ecx
push 0x18
push edx
call dword [0x703214]
mov eax, dword [esp + 0xc0]
test eax, eax
jg 0x48b863
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], bl
mov dword [esp + 0x2c], ebp
call fcn.00469860
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 2
mov dword [esp + 0x24], ebp
call fcn.00469860
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 1
mov dword [esp + 0x34], ebp
call fcn.00469860
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 0
mov dword [esp + 0x10], ebp
call fcn.00469860
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], 0xffffffff
mov dword [esp + 0x18], ebp
call fcn.00469860
jmp 0x48c1c4
call fcn.00559b5f
mov eax, dword [eax + 0xc]
push 0xb4
push eax
call edi
push eax
lea ecx, [esp + 0x30]
call fcn.0054b54c
test eax, eax
jne 0x48b8f1
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], bl
mov dword [esp + 0x2c], ebp
call fcn.00469860
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 2
mov dword [esp + 0x24], ebp
call fcn.00469860
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 1
mov dword [esp + 0x34], ebp
call fcn.00469860
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 0
mov dword [esp + 0x10], ebp
call fcn.00469860
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], 0xffffffff
mov dword [esp + 0x18], ebp
call fcn.00469860
jmp 0x48c1c4
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0xd4]
push eax
push 0x18
push ecx
call dword [0x703214]
mov eax, dword [esp + 0xd8]
test eax, eax
jg 0x48b981
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], bl
mov dword [esp + 0x2c], ebp
call fcn.00469860
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 2
mov dword [esp + 0x24], ebp
call fcn.00469860
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 1
mov dword [esp + 0x34], ebp
call fcn.00469860
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 0
mov dword [esp + 0x10], ebp
call fcn.00469860
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], 0xffffffff
mov dword [esp + 0x18], ebp
call fcn.00469860
jmp 0x48c1c4
mov edi, dword [esp + 0xfc]
mov eax, dword [edi + 8]
add eax, 0xfffffffe
mov dword [edi + 8], eax
mov edx, dword [esi + 0xcc]
sub eax, edx
cmp eax, 0x64
jge 0x48ba0e
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], bl
mov dword [esp + 0x2c], ebp
call fcn.00469860
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 2
mov dword [esp + 0x24], ebp
call fcn.00469860
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 1
mov dword [esp + 0x34], ebp
call fcn.00469860
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 0
mov dword [esp + 0x10], ebp
call fcn.00469860
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], 0xffffffff
mov dword [esp + 0x18], ebp
call fcn.00469860
jmp 0x48c1c4
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x104]
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
and eax, ebx
push eax
mov eax, dword [edx + 4]
push eax
call fcn.0054acdc
mov ebp, dword [edi + 0xc]
mov ecx, edi
mov dword [esp + 0x88], eax
mov edx, dword [ecx]
mov dword [esp + 0x3c], edx
mov edx, dword [edi + 4]
mov eax, dword [ecx + 4]
mov dword [esp + 0x40], eax
mov eax, ebp
mov ebx, dword [ecx + 8]
sub eax, edx
mov edx, dword [esp + 0x94]
mov ecx, dword [ecx + 0xc]
sub eax, edx
cdq
sub eax, edx
mov edx, dword [edi + 4]
mov dword [esp + 0x48], ecx
mov ecx, dword [esi + 0xcc]
sar eax, 1
add ecx, 5
add edx, eax
sub ebp, eax
mov eax, dword [edi + 8]
dec ebx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 0x6c], ebp
cmp ecx, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
mov ebp, ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x20], edx
jge 0x48bb0b
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x4c], ecx
lea edx, [ecx + ebp]
cmp edx, eax
jl 0x48bac9
sub eax, ebp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x104]
test eax, eax
je 0x48bad7
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
push 0xcc0020
push 0
push 0
push eax
mov eax, dword [esp + 0xa4]
push eax
mov eax, dword [ebx + 4]
push ecx
push edx
push ebp
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x4c]
mov eax, dword [edi + 8]
add ebp, edx
cmp ebp, eax
jl 0x48bab1
mov ecx, edi
mov dword [esp + 0x58], ebp
mov ebp, dword [edi + 0xc]
mov edx, dword [ecx]
mov dword [esp + 0x3c], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x40], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov edx, dword [edi + 4]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esi + 0xcc]
mov dword [esp + 0x48], eax
mov eax, ebp
sub eax, edx
mov edx, dword [esp + 0x94]
sub eax, edx
add ecx, 5
cdq
sub eax, edx
mov edx, dword [edi + 4]
sar eax, 1
add edx, eax
sub ebp, eax
mov eax, dword [esi + 0xa4]
mov dword [esp + 0x3c], ecx
test eax, eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], ebp
jle 0x48bc2f
lea eax, [esp + 0x24]
test eax, eax
je 0x48bb94
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48bb94
mov ecx, dword [esp + 0x104]
push eax
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x3c]
mov edx, dword [edi + 8]
mov eax, dword [esi + 0xcc]
sub edx, eax
mov eax, 0x51eb851f
sub edx, 5
mov ebp, ecx
imul edx, dword [esi + 0xa4]
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x40]
add edx, ecx
mov dword [esp + 0x20], eax
cmp ecx, edx
mov dword [esp + 0x44], edx
jge 0x48bc29
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4c], eax
lea ecx, [eax + ebp]
cmp ecx, edx
jl 0x48bbe6
sub edx, ebp
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x104]
test eax, eax
je 0x48bbf4
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x20]
push 0xcc0020
push 0
push 0
push eax
mov eax, dword [esp + 0x5c]
push edx
mov edx, dword [ebx + 4]
push eax
push ecx
push ebp
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
add ebp, ecx
cmp ebp, edx
jl 0x48bbce
mov ecx, edx
mov dword [esp + 0x3c], ecx
lea eax, [esp + 0x10]
test eax, eax
je 0x48bc55
mov eax, dword [esp + 0x14]
test eax, eax
je 0x48bc55
mov ecx, dword [esp + 0x104]
push eax
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x3c]
mov edi, dword [edi + 8]
mov ebp, dword [esi + 0xcc]
mov edx, edi
mov eax, 0x51eb851f
sub edx, ebp
sub edx, 5
imul edx, dword [esi + 0xa0]
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
lea edx, [edx + ebp + 5]
mov ebp, ecx
cmp ecx, edx
mov dword [esp + 0x44], edx
jne 0x48bca8
mov eax, dword [esi + 0xa8]
test eax, eax
je 0x48bca6
cmp edx, edi
jge 0x48bca6
inc edx
mov dword [esp + 0x44], edx
cmp ecx, edx
jge 0x48bcf7
mov edi, dword [esp + 0xa8]
lea ecx, [edi + ebp]
cmp ecx, edx
jl 0x48bcbc
sub edx, ebp
mov edi, edx
mov eax, dword [esp + 0x104]
test eax, eax
je 0x48bcca
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x94]
mov ecx, dword [ebx + 4]
push 0xcc0020
push 0
push 0
push eax
mov eax, dword [esp + 0x30]
push edx
push edi
push eax
push ebp
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x44]
add ebp, edi
cmp ebp, edx
jl 0x48bcaa
cmp dword [esi + 0xa0], 0x64
jl 0x48be10
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0x104]
mov edx, dword [esi + 0x98]
mov edi, dword [esi + 0x100]
cmp eax, ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], ecx
jl 0x48be10
jg 0x48bd3e
cmp edx, edi
jbe 0x48be10
fild qword [esp + 0x4c]
fild qword [esp + 0x70]
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x78], eax
sub eax, edi
fsubr st(1)
inc eax
mov edx, dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x6c]
fdivrp st(1)
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edx
mov dword [esp + 0x7c], ecx
fild dword [esp + 0x20]
fld qword [0x64b578]
fsub st(2)
fmulp st(1)
call fcn.00529b4c
mov ebp, eax
lea edx, [esp + 0x2c]
add ebp, edi
test edx, edx
fstp st(0)
je 0x48bdac
mov eax, dword [esp + 0x30]
test eax, eax
je 0x48bdac
push eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
cmp ebp, eax
mov dword [esp + 0x20], edx
jge 0x48be10
mov edi, dword [esp + 0xd8]
mov eax, dword [esp + 0x78]
lea ecx, [edi + ebp]
cmp ecx, eax
jl 0x48bdd2
mov edi, eax
sub edi, ebp
mov eax, dword [esp + 0x104]
test eax, eax
je 0x48bde0
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x94]
mov ecx, dword [ebx + 4]
push 0xcc0020
push 0
push 0
push eax
mov eax, dword [esp + 0x84]
push edx
push edi
push eax
push ebp
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x78]
add ebp, edi
cmp ebp, eax
jl 0x48bdbc
mov eax, dword [esp + 0x88]
test eax, eax
je 0x48be1e
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x104]
push eax
mov eax, dword [edx + 4]
push eax
call fcn.0054acdc
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x20]
push 0
add ecx, 2
push 0
push ecx
mov ecx, dword [esp + 0x8c]
sub eax, ecx
inc eax
dec edx
push eax
dec ecx
push edx
push ecx
mov ecx, ebx
call fcn.00557045
mov eax, dword [0x700320]
mov dword [esp + 0x54], eax
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0x9c]
mov eax, dword [esi + 0x98]
push ecx
push 0
push 0x400
push edx
push eax
mov byte [esp + 0x108], 5
mov dword [esp + 0x34], 0
call fcn.00526d20
push 0
push 0x400
push edx
push eax
call fcn.00526d20
push eax
push str.Total___d_MB___________d___
push 0x4b0
call fcn.00506990
add esp, 8
lea ecx, [esp + 0x5c]
push eax
push ecx
call fcn.005412cd
mov eax, dword [0x7a9b44]
add esp, 0x10
test eax, eax
je 0x48bedd
mov edx, dword [ebx + 4]
push eax
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x20], eax
mov eax, dword [ebx]
push 0
mov ecx, ebx
call dword [eax + 0x30]
push 1
mov ecx, ebx
call fcn.0054ada4
push 0
lea ecx, [esp + 0x40]
push 0xfffffffffffffff6
push ecx
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [esp + 0x54]
mov edx, dword [ebx]
lea edi, [esp + 0x60]
push 0x25
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x68]
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x48c12f
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
lea edi, [esi + 0xd4]
mov eax, edi
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call dword [sym.imp.USER32.dll_GetMessagePos]
movsx ecx, ax
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x80], ecx
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0x80]
mov dword [esp + 0x84], edx
push eax
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esp + 0x54]
mov ebp, dword [0x703218]
lea edx, [esp + 0x58]
mov ecx, dword [eax - 8]
push edx
push ecx
push eax
mov eax, dword [ebx + 8]
push eax
call ebp
mov eax, dword [esi + 0xf0]
lea edx, [esp + 0x70]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [ebx + 8]
push eax
call ebp
mov ecx, dword [esi + 0xdc]
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x58]
sub ecx, ebp
lea ebp, [ecx - 0x1a]
mov ecx, dword [esp + 0x68]
mov eax, ecx
mov dword [edi], ebp
sub eax, edx
mov edx, dword [esp + 0x60]
sub eax, edx
add ebp, 0xfffffffb
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
cmp ecx, ebp
jge 0x48c12f
mov eax, dword [esi + 0xec]
test eax, eax
je 0x48c019
lea edx, [esp + 0x58]
mov dword [esp + 0x58], 1
push edx
push 0x60c4f9
push 0x467ee5
push edi
push ebx
call fcn.004d7840
add esp, 0x14
mov ecx, ebx
push 0x5a4334
push 0x5a4334
push edi
call fcn.0055701a
jmp 0x48c082
mov eax, dword [esi + 0x108]
test eax, eax
je 0x48c082
mov eax, dword [esi + 0x118]
test eax, eax
je 0x48c082
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
push eax
push ecx
push edi
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x48c082
lea edx, [esp + 0x58]
mov ebp, 1
push edx
push 0x91d0ff
push 0xccf4ff
push edi
push ebx
mov dword [esp + 0x6c], ebp
call fcn.004d7840
add esp, 0x14
mov ecx, ebx
push 0x5a4334
push 0x5a4334
push edi
call fcn.0055701a
mov dword [esi + 0x110], ebp
mov eax, dword [esi + 0xec]
mov edx, dword [edi]
push 0x24
push edi
lea ecx, [eax + 8]
add edx, ecx
mov dword [edi], edx
lea edx, [eax + eax]
mov eax, dword [esi + 0xd8]
add eax, edx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xf0]
mov edx, dword [ebx]
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x68]
mov ecx, dword [esi + 0xec]
mov edx, dword [edi]
mov eax, 0xfffffff8
mov ebp, dword [esi + 0xd8]
sub eax, ecx
add edx, eax
mov eax, dword [esi + 0x118]
mov dword [edi], edx
mov edx, ecx
neg edx
shl edx, 1
add ebp, edx
test eax, eax
mov dword [esi + 0xd8], ebp
je 0x48c12f
mov eax, dword [esi + 0xdc]
mov edx, dword [edi + 4]
push 8
push 8
lea esi, [eax + ecx - 0xd]
mov eax, dword [edi + 0xc]
sub eax, edx
push 0
sub eax, 8
push 0
cdq
push 0
sub eax, edx
sub esp, 0x10
sar eax, 1
mov edi, esp
add eax, ebp
add eax, ecx
lea ecx, [esi + 8]
mov dword [edi], esi
push ebx
lea edx, [eax + 8]
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
call fcn.0047bcb0
add esp, 0x28
mov eax, dword [esp + 0x20]
test eax, eax
je 0x48c142
mov ecx, dword [ebx + 4]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
lea ecx, [esp + 0x54]
mov byte [esp + 0xf4], 4
call fcn.00544250
mov esi, vtable.CGdiObject.0
mov dword [esp + 0x2c], esi
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], 6
call fcn.0054b5a3
mov dword [esp + 0x24], esi
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 7
call fcn.0054b5a3
mov dword [esp + 0x34], esi
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 8
call fcn.0054b5a3
mov dword [esp + 0x10], esi
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 9
call fcn.0054b5a3
mov dword [esp + 0x18], esi
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], 0xa
call fcn.0054b5a3
mov ecx, dword [esp + 0xec]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xe8
ret 0xc