Function at 0x46a2c0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe0
push ebx
push edi
push esi
lea eax, [ebp - 0x4c]
mov dword [eax], 0
lea eax, [ebp - 0x48]
mov dword [eax], 0
lea eax, [ebp - 0x40]
mov dword [eax], 0
lea eax, [ebp - 0x3c]
mov dword [eax], 0
lea eax, [ebp - 0x44]
mov dword [eax], 0
lea eax, [ebp - 8]
push eax
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov edx, eax
pop esi
mov dword [esi], edx
call fcn.0046b040
xor eax, eax
lea ebx, [ebp + 0x20]
mov esi, dword [ebx]
mov edi, eax
cmp esi, edi
setne dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a340
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x20]
mov eax, dword [eax]
mov edx, eax
pop esi
mov edi, dword [edx]
mov dword [esi], edi
jmp 0x46a349
lea eax, [ebp - 4]
mov dword [eax], 0
mov eax, pe_nt_image_headers32
mov ebx, pe_nt_image_headers32
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
and edx, esi
mov ebx, edx
mov esi, ebx
mov edi, eax
cmp esi, edi
sete dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a382
lea eax, [ebp - 0x40]
mov dword [eax], 1
jmp 0x46a38b
lea eax, [ebp - 0x40]
mov dword [eax], 0
mov eax, 0x200
mov ebx, 0x200
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
and edx, esi
mov ebx, edx
mov esi, ebx
mov edi, eax
cmp esi, edi
sete dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a3c4
lea eax, [ebp - 0x44]
mov dword [eax], 1
jmp 0x46a3cd
lea eax, [ebp - 0x44]
mov dword [eax], 0
mov eax, 0x20
mov ebx, 0x20
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
and edx, esi
mov ebx, edx
mov esi, ebx
mov edi, eax
cmp esi, edi
sete dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a406
lea eax, [ebp - 0x48]
mov dword [eax], 1
jmp 0x46a40f
lea eax, [ebp - 0x48]
mov dword [eax], 0
mov eax, 0x400
mov ebx, 0x400
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
and edx, esi
mov ebx, edx
mov esi, ebx
mov edi, eax
cmp esi, edi
sete dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a448
lea eax, [ebp - 0x38]
mov dword [eax], 1
jmp 0x46a451
lea eax, [ebp - 0x38]
mov dword [eax], 0
mov eax, 0x10
mov ebx, 0x10
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
and edx, esi
mov ebx, edx
mov esi, ebx
mov edi, eax
cmp esi, edi
sete dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a48d
mov eax, dword [ebp + 8]
add eax, 0x34
mov dword [eax], 0
jmp 0x46a499
mov eax, dword [ebp + 8]
add eax, 0x34
mov dword [eax], 1
mov eax, 0x80
mov ebx, 0x80
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
and edx, esi
mov ebx, edx
mov esi, ebx
mov edi, eax
cmp esi, edi
sete dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a4d2
lea eax, [ebp - 0x34]
mov dword [eax], 1
jmp 0x46a4db
lea eax, [ebp - 0x34]
mov dword [eax], 0
mov eax, 0x100
mov ebx, 0x100
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
and edx, esi
mov ebx, edx
mov esi, ebx
mov edi, eax
cmp esi, edi
sete dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a533
lea eax, [ebp - 0x30]
mov dword [eax], 1
mov eax, dword [ebp + 8]
add eax, 0x34
push eax
mov eax, 0x10
mov ebx, dword [ebp + 8]
add ebx, 0x34
mov edx, dword [ebx]
mov esi, eax
or edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
jmp 0x46a53c
lea eax, [ebp - 0x30]
mov dword [eax], 0
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x100
mov edx, eax
not edx
mov eax, edx
lea ebx, [ebp + 0x1c]
mov edx, dword [ebx]
mov esi, eax
and edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x80
mov edx, eax
not edx
mov eax, edx
lea ebx, [ebp + 0x1c]
mov edx, dword [ebx]
mov esi, eax
and edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x10
mov edx, eax
not edx
mov eax, edx
lea ebx, [ebp + 0x1c]
mov edx, dword [ebx]
mov esi, eax
and edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x400
mov edx, eax
not edx
mov eax, edx
lea ebx, [ebp + 0x1c]
mov edx, dword [ebx]
mov esi, eax
and edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x20
mov edx, eax
not edx
mov eax, edx
lea ebx, [ebp + 0x1c]
mov edx, dword [ebx]
mov esi, eax
and edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x200
mov edx, eax
not edx
mov eax, edx
lea ebx, [ebp + 0x1c]
mov edx, dword [ebx]
mov esi, eax
and edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp + 0x1c]
push eax
mov eax, pe_nt_image_headers32
mov edx, eax
not edx
mov eax, edx
lea ebx, [ebp + 0x1c]
mov edx, dword [ebx]
mov esi, eax
and edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, 0x800
mov ebx, 0x800
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
and edx, esi
mov ebx, edx
mov esi, ebx
mov edi, eax
cmp esi, edi
setne dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a65c
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x10000000
lea ebx, [ebp + 0x1c]
mov edx, dword [ebx]
mov esi, eax
or edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x800
mov edx, eax
not edx
mov eax, edx
lea ebx, [ebp + 0x1c]
mov edx, dword [ebx]
mov esi, eax
and edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
xor eax, eax
lea ebx, [ebp - 4]
mov esi, dword [ebx]
mov edi, eax
cmp esi, edi
setne dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a71c
xor eax, eax
lea ebx, [ebp + 0x20]
mov ebx, dword [ebx]
add ebx, 0x10
mov esi, dword [ebx]
mov edi, eax
cmp esi, edi
setne dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a6c7
lea eax, [ebp - 0x3c]
mov dword [eax], 1
jmp 0x46a6d0
lea eax, [ebp - 0x3c]
mov dword [eax], 0
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x4000000
mov ebx, 0x40000000
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
or edx, esi
mov ebx, edx
mov edx, ebx
mov esi, eax
or edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp + 0x20]
mov eax, dword [eax]
add eax, 0x10
cmp dword [eax], 0
je 0x46a71a
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x20]
mov eax, dword [eax]
add eax, 0x10
mov edx, eax
pop esi
mov edi, dword [edx]
mov dword [esi], edi
jmp 0x46a742
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x80000000
mov ebx, 0x2000000
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
or edx, esi
mov ebx, edx
mov edx, ebx
mov esi, eax
or edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
xor eax, eax
lea ebx, [ebp - 0x40]
cmp dword [ebx], eax
sete dl
movzx eax, dl
test eax, eax
je 0x46a77d
lea eax, [ebp + 0x1c]
push eax
mov eax, 0x80000
mov ebx, 0xc00000
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
or edx, esi
mov ebx, edx
mov edx, ebx
mov esi, eax
or edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
xor eax, eax
lea ebx, [ebp - 0x3c]
cmp dword [ebx], eax
setne dl
movzx eax, dl
test eax, eax
je 0x46a79b
lea eax, [ebp - 0x4c]
mov dword [eax], pe_nt_image_headers32
xor eax, eax
lea ebx, [ebp - 0x44]
cmp dword [ebx], eax
setne dl
movzx eax, dl
test eax, eax
je 0x46a7c9
lea eax, [ebp - 0x4c]
push eax
mov eax, 0x80
lea ebx, [ebp - 0x4c]
mov edx, dword [ebx]
mov esi, eax
or edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
xor eax, eax
lea ebx, [ebp - 0x38]
cmp dword [ebx], eax
setne dl
movzx eax, dl
test eax, eax
je 0x46a7f7
lea eax, [ebp - 0x4c]
push eax
mov eax, 8
lea ebx, [ebp - 0x4c]
mov edx, dword [ebx]
mov esi, eax
or edx, esi
mov eax, edx
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
lea eax, [ebp + 0x28]
mov edx, eax
pop esi
mov edi, dword [edx]
mov dword [esi], edi
mov eax, dword [ebp + 8]
add eax, 0x40
mov dword [eax], 0
mov eax, dword [ebp + 8]
add eax, 0x44
mov dword [eax], 0
mov eax, dword [ebp + 8]
add eax, 0x48
mov dword [eax], 0
mov eax, dword [ebp + 8]
add eax, 0x4c
mov dword [eax], 0
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [eax], 0
mov eax, dword [ebp + 8]
add eax, 0x64
push eax
mov eax, 0
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x58
push eax
mov eax, 0
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x54
push eax
mov eax, 0
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x60
push eax
mov eax, 0
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, 0x4d387c
push eax
mov eax, dword [ebp + 8]
mov edx, eax
pop esi
mov dword [esi], edx
xor eax, eax
lea ebx, [ebp - 0x48]
cmp dword [ebx], eax
setne dl
movzx eax, dl
test eax, eax
je 0x46a8c3
lea eax, [ebp - 0xd8]
push eax
mov eax, str.EmergenceFrameClass
mov edx, eax
pop esi
push edx
push esi
call fcn.00472d50
jmp 0x46a8d9
lea eax, [ebp - 0xd8]
push eax
mov eax, str.EmergenceWndClass
mov edx, eax
pop esi
push edx
push esi
call fcn.00472d50
mov eax, dword [ebp + 8]
push eax
xor eax, eax
mov edx, eax
push edx
lea eax, [ebp - 8]
push dword [eax]
xor eax, eax
push eax
lea eax, [ebp - 4]
push dword [eax]
lea eax, [ebp + 0x18]
push dword [eax]
lea eax, [ebp + 0x14]
push dword [eax]
lea eax, [ebp + 0x10]
push dword [eax]
lea eax, [ebp + 0xc]
push dword [eax]
lea eax, [ebp + 0x1c]
push dword [eax]
mov eax, dword [ebp + 0x24]
mov edx, eax
push edx
lea eax, [ebp - 0xd8]
mov edx, eax
push edx
lea eax, [ebp - 0x4c]
push dword [eax]
call dword [sym.imp.USER32.DLL_CreateWindowExA]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, 0x4d387c
mov dword [eax], 0
mov eax, dword [ebp + 8]
add eax, 0x5c
mov dword [eax], 0
xor eax, eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebx]
mov edi, eax
cmp esi, edi
setne dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46b022
mov eax, 0x1000000
mov ebx, 0x1000000
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
and edx, esi
mov ebx, edx
mov esi, ebx
mov edi, eax
cmp esi, edi
sete dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a99d
mov eax, 3
push eax
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.USER32.DLL_ShowWindow]
jmp 0x46a9dc
mov eax, 0x20000000
mov ebx, 0x20000000
lea ecx, [ebp + 0x1c]
mov edx, dword [ecx]
mov esi, ebx
and edx, esi
mov ebx, edx
mov esi, ebx
mov edi, eax
cmp esi, edi
sete dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46a9dc
mov eax, 6
push eax
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.USER32.DLL_ShowWindow]
lea eax, [ebp - 0x48]
cmp dword [eax], 0
je 0x46abb9
call dword [sym.imp.USER32.DLL_CreateMenu]
mov edx, eax
lea eax, [ebp - 0xdc]
mov esi, eax
mov dword [esi], edx
call dword [sym.imp.USER32.DLL_CreateMenu]
mov edx, eax
lea eax, [ebp - 0xe0]
mov esi, eax
mov dword [esi], edx
mov eax, str.Cascade
mov edx, eax
push edx
mov eax, 0x8005
push eax
xor eax, eax
push eax
lea eax, [ebp - 0xe0]
push dword [eax]
call dword [sym.imp.USER32.DLL_AppendMenuA]
mov eax, str.Tile
mov edx, eax
push edx
mov eax, 0x8006
push eax
xor eax, eax
push eax
lea eax, [ebp - 0xe0]
push dword [eax]
call dword [sym.imp.USER32.DLL_AppendMenuA]
mov eax, str.Arrange_Icons
mov edx, eax
push edx
mov eax, 0x8007
push eax
xor eax, eax
push eax
lea eax, [ebp - 0xe0]
push dword [eax]
call dword [sym.imp.USER32.DLL_AppendMenuA]
mov eax, str.Window
mov edx, eax
push edx
lea eax, [ebp - 0xe0]
push dword [eax]
mov eax, 0x10
push eax
lea eax, [ebp - 0xdc]
push dword [eax]
call dword [sym.imp.USER32.DLL_AppendMenuA]
lea eax, [ebp - 0xdc]
push dword [eax]
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.USER32.DLL_SetMenu]
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.USER32.DLL_GetClientRect]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xe0]
mov edx, eax
pop esi
mov edi, dword [edx]
mov dword [esi], edi
lea eax, [ebp - 0xa0]
add eax, 4
mov dword [eax], 0x4050
mov eax, dword [ebp + 8]
add eax, 0x10
push eax
lea eax, [ebp - 0xa0]
mov edx, eax
push edx
lea eax, [ebp - 8]
push dword [eax]
mov eax, 0xcac
push eax
mov eax, dword [ebp + 8]
push dword [eax]
lea eax, [ebp - 0xb0]
add eax, 4
lea ebx, [ebp - 0xb0]
add ebx, 0xc
mov ebx, dword [ebx]
mov eax, dword [eax]
sub ebx, eax
mov eax, ebx
push eax
lea eax, [ebp - 0xb0]
lea ebx, [ebp - 0xb0]
add ebx, 8
mov ebx, dword [ebx]
mov eax, dword [eax]
sub ebx, eax
mov eax, ebx
push eax
xor eax, eax
push eax
xor eax, eax
push eax
mov eax, 0x100000
mov ebx, 0x200000
mov ecx, 0x2000000
push 0x40000000
mov edx, dword [esp]
mov esi, ecx
or edx, esi
add esp, 4
mov ecx, edx
mov edx, ecx
mov esi, ebx
or edx, esi
mov ebx, edx
mov edx, ebx
mov esi, eax
or edx, esi
mov eax, edx
push eax
mov eax, 0x4a9538
mov edx, eax
push edx
mov eax, str.MDICLIENT
mov edx, eax
push edx
xor eax, eax
push eax
call dword [sym.imp.USER32.DLL_CreateWindowExA]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, 0x4d3878
push eax
mov eax, 0x20
xor edx, edx
sub edx, eax
mov eax, edx
push eax
mov eax, dword [ebp + 8]
add eax, 0x10
push dword [eax]
call dword [sym.imp.USER32.DLL_GetClassWord]
mov edx, eax
pop esi
mov word [esi], dx
mov eax, 5
push eax
mov eax, dword [ebp + 8]
add eax, 0x10
push dword [eax]
call dword [sym.imp.USER32.DLL_ShowWindow]
jmp 0x46abf1
xor eax, eax
mov ebx, 0x4d3878
movzx esi, word [ebx]
mov edi, eax
cmp esi, edi
sete dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46abf1
mov eax, 0x4d3878
mov esi, eax
mov eax, 1
xor edx, edx
sub edx, eax
mov eax, edx
mov edx, eax
mov word [esi], dx
lea eax, [ebp - 0x2c]
push eax
xor eax, eax
push eax
call dword [sym.imp.USER32.DLL_GetSystemMetrics]
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp - 0x28]
push eax
mov eax, 1
push eax
call dword [sym.imp.USER32.DLL_GetSystemMetrics]
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.USER32.DLL_GetDC]
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp - 0x1c]
cmp dword [eax], 0
je 0x46affe
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push dword [eax]
call dword [sym.imp.GDI32.DLL_CreateCompatibleDC]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x30
push eax
mov eax, 5
push eax
call dword [sym.imp.USER32.DLL_GetSysColor]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x34
cmp dword [eax], 0
je 0x46ae25
lea eax, [ebp - 0x30]
cmp dword [eax], 0
je 0x46ad47
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.USER32.DLL_GetClientRect]
mov eax, dword [ebp + 8]
add eax, 4
push eax
lea eax, [ebp - 0xb0]
add eax, 4
lea ebx, [ebp - 0xb0]
add ebx, 0xc
mov ebx, dword [ebx]
mov eax, dword [eax]
sub ebx, eax
mov eax, ebx
push eax
lea eax, [ebp - 0xb0]
lea ebx, [ebp - 0xb0]
add ebx, 8
mov ebx, dword [ebx]
mov eax, dword [eax]
sub ebx, eax
mov eax, ebx
push eax
lea eax, [ebp - 0x1c]
push dword [eax]
call dword [sym.imp.GDI32.DLL_CreateCompatibleBitmap]
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp + 8]
add eax, 4
push dword [eax]
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_SelectObject]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x30
push dword [eax]
lea eax, [ebp - 0xb0]
add eax, 4
lea ebx, [ebp - 0xb0]
add ebx, 0xc
mov ebx, dword [ebx]
mov eax, dword [eax]
sub ebx, eax
mov eax, ebx
push eax
lea eax, [ebp - 0xb0]
lea ebx, [ebp - 0xb0]
add ebx, 8
mov ebx, dword [ebx]
mov eax, dword [eax]
sub ebx, eax
mov eax, ebx
push eax
xor eax, eax
push eax
xor eax, eax
push eax
lea eax, [ebp - 0x18]
push dword [eax]
call fcn.0046d1e0
jmp 0x46ae23
lea eax, [ebp - 0x34]
cmp dword [eax], 0
je 0x46adc4
mov eax, dword [ebp + 8]
add eax, 4
push eax
mov eax, 1
lea ebx, [ebp + 0x18]
mov ebx, dword [ebx]
add eax, ebx
push eax
mov eax, 1
lea ebx, [ebp + 0x14]
mov ebx, dword [ebx]
add eax, ebx
push eax
lea eax, [ebp - 0x1c]
push dword [eax]
call dword [sym.imp.GDI32.DLL_CreateCompatibleBitmap]
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp + 8]
add eax, 4
push dword [eax]
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_SelectObject]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x30
push dword [eax]
lea eax, [ebp + 0x18]
push dword [eax]
lea eax, [ebp + 0x14]
push dword [eax]
xor eax, eax
push eax
xor eax, eax
push eax
lea eax, [ebp - 0x18]
push dword [eax]
call fcn.0046d1e0
jmp 0x46ae23
mov eax, dword [ebp + 8]
add eax, 4
push eax
lea eax, [ebp - 0x28]
push dword [eax]
lea eax, [ebp - 0x2c]
push dword [eax]
lea eax, [ebp - 0x1c]
push dword [eax]
call dword [sym.imp.GDI32.DLL_CreateCompatibleBitmap]
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp + 8]
add eax, 4
push dword [eax]
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_SelectObject]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x30
push dword [eax]
lea eax, [ebp - 0x28]
push dword [eax]
lea eax, [ebp - 0x2c]
push dword [eax]
xor eax, eax
push eax
xor eax, eax
push eax
lea eax, [ebp - 0x18]
push dword [eax]
call fcn.0046d1e0
jmp 0x46ae47
mov eax, dword [ebp + 8]
add eax, 0x30
push dword [eax]
lea eax, [ebp + 0x18]
push dword [eax]
lea eax, [ebp + 0x14]
push dword [eax]
xor eax, eax
push eax
xor eax, eax
push eax
lea eax, [ebp - 0x1c]
push dword [eax]
call fcn.0046d1e0
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_GetCurrentPositionEx]
lea eax, [ebp - 0x10]
push eax
mov eax, 1
push eax
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_GetCurrentObject]
mov edx, eax
pop esi
mov dword [esi], edx
xor eax, eax
lea ebx, [ebp - 0x10]
mov esi, dword [ebx]
mov edi, eax
cmp esi, edi
setne dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46aec4
lea eax, [ebp - 0x98]
mov edx, eax
push edx
mov eax, 0x10
push eax
lea eax, [ebp - 0x10]
push dword [eax]
call dword [sym.imp.GDI32.DLL_GetObjectA]
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
lea eax, [ebp - 0x98]
push eax
call dword [sym.imp.GDI32.DLL_CreatePenIndirect]
mov edx, eax
pop esi
mov dword [esi], edx
lea eax, [ebp - 0xc]
push eax
mov eax, 6
push eax
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_GetCurrentObject]
mov edx, eax
pop esi
mov dword [esi], edx
xor eax, eax
lea ebx, [ebp - 0xc]
mov esi, dword [ebx]
mov edi, eax
cmp esi, edi
setne dl
and edx, 0xff
mov eax, edx
test eax, eax
je 0x46af2f
lea eax, [ebp - 0x88]
mov edx, eax
push edx
mov eax, 0x3c
push eax
lea eax, [ebp - 0xc]
push dword [eax]
call dword [sym.imp.GDI32.DLL_GetObjectA]
mov eax, dword [ebp + 8]
add eax, 8
push eax
lea eax, [ebp - 0x88]
push eax
call dword [sym.imp.GDI32.DLL_CreateFontIndirectA]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x1c
push eax
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_GetBkMode]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x2c
push eax
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_GetBkColor]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x20
push eax
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_GetROP2]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x3c
push eax
mov eax, 0x7f00
push eax
xor eax, eax
push eax
call dword [sym.imp.USER32.DLL_LoadCursorA]
mov edx, eax
pop esi
mov dword [esi], edx
mov eax, dword [ebp + 8]
add eax, 0x28
mov dword [eax], 1
mov eax, dword [ebp + 8]
add eax, 0x24
mov dword [eax], 0
mov eax, dword [ebp + 8]
add eax, 0x38
mov dword [eax], 0
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
lea eax, [ebp + 0x28]
mov edx, eax
pop esi
mov edi, dword [edx]
mov dword [esi], edi
mov eax, dword [ebp + 8]
add eax, 0x34
cmp dword [eax], 0
je 0x46afe3
lea eax, [ebp - 0x14]
push dword [eax]
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_SelectObject]
lea eax, [ebp - 0x18]
push dword [eax]
call dword [sym.imp.GDI32.DLL_DeleteDC]
lea eax, [ebp - 0x1c]
push dword [eax]
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.USER32.DLL_ReleaseDC]
mov eax, dword [ebp + 8]
mov edx, eax
push edx
xor eax, eax
push eax
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.USER32.DLL_SetWindowLongA]
mov eax, 1
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0x24