Function at 0x40b1f0
Capabilities:
Get process heap flags
Hide graphical window

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
mov eax, ecx
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x428
mov ebx, dword [ecx + 4]
mov edi, dword [ecx]
mov esi, dword [eax + 0xc]
mov ecx, dword [ecx + 8]
cmp ebx, 0x7b
je 0x40b620
jbe 0x40b378
cmp ebx, 0x113
je 0x40b6a8
jbe 0x40b570
cmp ebx, 0x126
je 0x40b54c
jbe 0x40b540
lea eax, [ebx - 0x200]
cmp eax, 9
ja 0x40b6e0
mov eax, esi
sar eax, 0x10
js 0x40b360
mov dword [ebp - 0x400], eax
cmp eax, dword [0x4123d8]
jge 0x40b360
mov eax, dword [0x412660]
movsx edx, si
mov dword [ebp - 0x3fc], edx
sub eax, edx
js 0x40b360
mov edx, dword [0x4123d0]
mov dword [ebp - 0x404], edx
imul edx, dword [0x4124ac]
cmp edx, eax
jbe 0x40b360
cdq
idiv dword [ebp - 0x404]
mov edx, dword [0x4123b0]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0x404], edx
test edx, edx
je 0x40b360
lea eax, [ebp - 0x3d4]
mov dword [ebp - 0x3d4], edi
mov dword [ebp - 0x3c8], esi
mov esi, edx
mov dword [ebp - 0x3d0], ebx
mov dword [ebp - 0x3cc], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x407
mov eax, dword [edx + 0x10]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
mov edx, dword [ebp - 0x3fc]
mov edi, dword [ebp - 0x400]
mov eax, esi
sub esp, 0x10
mov dword [esp], edx
mov edx, ebx
mov dword [esp + 4], edi
call sym._notify_owner
test eax, eax
je 0x40b360
mov edx, dword [esi + 0x3b0]
mov eax, esi
test edx, edx
je 0x40b360
cmp ebx, 0x202
je 0x40bfb3
cmp ebx, 0x205
jne 0x40b360
mov edx, dword [ebp - 0x3fc]
mov dword [esp + 4], edi
mov dword [esp], edx
mov edx, 0x7b
call sym._notify_owner
lea esi, [esi]
xor edi, edi
lea esp, [ebp - 0x10]
mov eax, edi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
cmp ebx, 0x21
je 0x40b608
jbe 0x40b5d8
cmp ebx, 0x2b
je 0x40b700
cmp ebx, 0x4a
jne 0x40b6e0
mov edx, dword [esi + 4]
cmp edx, 0x3bf
jbe 0x40b360
mov dword [ebp - 0x3d4], 0x3bc
mov eax, dword [esi + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x3d0], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x3cc], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x3c8], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x3c0], 0
mov dword [ebp - 0x3c4], ecx
mov ecx, dword [eax + 0x110]
mov dword [ebp - 0x2bc], ecx
mov ecx, dword [eax + 0x114]
mov dword [ebp - 0x2b8], ecx
mov ecx, dword [eax + 0x318]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [eax + 0x39c]
mov dword [ebp - 0x30], ecx
mov ecx, dword [eax + 0x3a0]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [eax + 0x3a4]
mov dword [ebp - 0x28], ecx
mov ecx, dword [eax + 0x3a8]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 0x3ac]
mov dword [ebp - 0x20], ecx
xor ecx, ecx
lea esi, [esi]
movzx ebx, word [eax + ecx + 0x10]
mov word [ebp + ecx - 0x3bc], bx
add ecx, 2
test bx, bx
jne 0x40b438
xor ecx, ecx
nop
movzx ebx, word [eax + ecx + 0x118]
mov word [ebp + ecx - 0x2b4], bx
add ecx, 2
test bx, bx
jne 0x40b450
xor ecx, ecx
lea esi, [esi]
movzx ebx, word [eax + ecx + 0x31c]
mov word [ebp + ecx - 0xb0], bx
add ecx, 2
test bx, bx
jne 0x40b470
mov dword [ebp - 0x1c], 0
test byte [ebp - 0x3c8], 2
je 0x40b9a0
cmp edx, 0x3c0
je 0x40b9a0
mov ecx, dword [eax + 0x3b4]
mov edi, dword [eax + 0x3b0]
mov ebx, dword [eax + 0x3bc]
mov dword [ebp - 0x400], edi
imul edi, ecx
mov dword [ebp - 0x404], ecx
lea ecx, [edi + 0xf]
shr ecx, 4
add ecx, ecx
mov dword [ebp - 0x3fc], ecx
mov ecx, dword [eax + 0x3b8]
mov dword [ebp - 0x408], ecx
imul ecx, ebx
imul ecx, edi
mov edi, dword [ebp - 0x3fc]
add ecx, 0xf
shr ecx, 4
lea ecx, [edi + ecx*2 + 0x3c0]
cmp edx, ecx
jae 0x40b94a
test byte [0x412114], 2
je 0x40b360
mov dword [esp + 0xc], str.buffer_underflow_n
xor edi, edi
mov dword [esp + 8], str.handle_incoming
mov dword [esp + 4], 0x412114
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_4
jmp 0x40b362
cmp ebx, 0x117
jne 0x40b6e0
mov dword [esp], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
call sym._menu_wndproc
mov edi, eax
jmp 0x40b362
cmp ebx, 0x7e
je 0x40b668
cmp ebx, 0x111
jne 0x40b6e0
mov eax, ecx
shr eax, 0x10
jne 0x40b360
cmp ecx, 0x1a3
jne 0x40bcd0
test byte [0x412114], 1
je 0x40b360
mov dword [esp + 0xc], str.Minimize_all_windows_command_is_not_supported._n
xor edi, edi
mov dword [esp + 8], str.tray_wndproc
mov dword [esp + 4], 0x412114
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x40b362
cmp ebx, 0xf
je 0x40b7e0
cmp ebx, 0x10
jne 0x40b6e0
mov dword [esp], edi
xor edi, edi
mov dword [esp + 4], 0
call dword [sym.imp.user32.dll_ShowWindow]
sub esp, 8
jmp 0x40b362
lea esp, [ebp - 0x10]
mov edi, 3
pop ecx
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
mov dword [esp + 4], 0xfffffff4
mov dword [esp], ecx
call dword [sym.imp.user32.dll_GetWindowLongW]
sub esp, 8
test eax, eax
je 0x40b360
mov dword [esp + 0xc], esi
xor edi, edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x313
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendNotifyMessageW]
sub esp, 0x10
jmp 0x40b362
mov edi, dword [0x4123c8]
test edi, edi
jne 0x40b683
mov eax, dword [0x4123b4]
or eax, dword [0x4124ac]
jne 0x40b940
mov eax, dword [0x412664]
mov dword [esp + 4], 0
xor edi, edi
mov dword [esp], eax
call dword [sym.imp.user32.dll_ShowWindow]
sub esp, 8
jmp 0x40b362
cmp ecx, 1
je 0x40ba90
cmp ecx, 2
jne 0x40b360
mov eax, dword [0x412140]
test eax, eax
je 0x40b6cc
xor ebx, ebx
mov word [eax + 0x124], bx
call sym._hide_balloon
xor edi, edi
call sym._show_next_balloon
jmp 0x40b362
mov dword [esp], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
call dword [sym.imp.user32.dll_DefWindowProcW]
sub esp, 0x10
mov edi, eax
jmp 0x40b362
mov ebx, dword [0x412644]
mov eax, dword [esi + 4]
cmp ebx, 0x412644
jne 0x40b72e
jmp 0x40b360
mov ebx, dword [ebx]
cmp ebx, 0x412644
je 0x40b360
cmp eax, dword [ebx + 8]
jne 0x40b720
lea edi, [ebp - 0x3d4]
mov dword [esp + 4], edi
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x3fc], edi
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetClientRect]
mov eax, dword [esi + 0x10]
sub esp, 8
shl eax, 9
mov dword [esp + 8], 4
and eax, 0x200
mov dword [esp + 4], edi
or eax, 0x2010
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x18]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DrawFrameControl]
mov edx, dword [ebx + 8]
sub esp, 0x10
test edx, edx
je 0x40ba40
cmp dword [ebx + 0x10], 1
mov dword [esp + 0x14], 0
sbb eax, eax
mov dword [esp + 0x10], 0
xor edi, edi
and eax, 0xf
mov dword [esp + 0xc], 0
add eax, 9
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x3fc]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x18]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_DrawCaptionTempW]
sub esp, 0x1c
jmp 0x40b362
lea eax, [ebp - 0x3d4]
mov dword [esp], edi
xor ebx, ebx
mov dword [ebp - 0x3fc], eax
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_BeginPaint]
mov ecx, dword [0x4124ac]
mov dword [ebp - 0x400], eax
sub esp, 8
test ecx, ecx
jne 0x40b825
jmp 0x40b920
inc ebx
cmp dword [0x4124ac], ebx
jbe 0x40b920
mov eax, dword [0x4123b0]
mov ecx, dword [0x4123d0]
mov esi, dword [0x41265c]
sub esi, dword [0x4123d8]
mov eax, dword [eax + ebx*4]
mov edx, dword [eax + 0x20]
imul edx, ecx
mov eax, edx
mov edx, dword [0x412660]
sub edx, eax
mov eax, esi
shr eax, 0x1f
mov dword [ebp - 0x3dc], edx
add eax, esi
mov esi, edx
sar eax, 1
sub esi, ecx
mov dword [ebp - 0x3e0], eax
add eax, dword [0x4123d8]
mov dword [ebp - 0x3d8], eax
lea eax, [ebp - 0x3cc]
mov dword [esp + 8], eax
lea eax, [ebp - 0x3e4]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3f4]
mov dword [ebp - 0x3e4], esi
mov dword [esp], eax
call dword [sym.imp.user32.dll_IntersectRect]
sub esp, 0xc
test eax, eax
je 0x40b818
mov eax, dword [0x4123d8]
mov dword [esp + 0x20], 0xb
mov dword [esp + 0x1c], 0
sub eax, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [0x4123d0]
sub eax, 4
mov dword [esp + 0x10], eax
mov eax, dword [0x4123b0]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x3e0]
add eax, 2
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3e4]
add eax, 2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x400]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DrawIconEx]
sub esp, 0x24
jmp 0x40b818
mov eax, dword [ebp - 0x3fc]
mov dword [esp], edi
xor edi, edi
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_EndPaint]
sub esp, 8
jmp 0x40b362
call sym._do_show_systray
jmp 0x40b362
mov edx, dword [ebp - 0x3fc]
add eax, 0x3c0
movzx ebx, bl
mov dword [esp], 0
mov dword [esp + 0x14], eax
add edx, eax
movzx eax, byte [ebp - 0x408]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x404]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x400]
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_CreateIcon]
mov dword [ebp - 0x3c0], eax
sub esp, 0x1c
lea esi, [esi]
nop
mov ecx, dword [esi]
test ecx, ecx
je 0x40bc40
mov ebx, dword [0x4123dc]
mov eax, dword [ebp - 0x3cc]
mov edx, dword [ebp - 0x3d0]
cmp ebx, 0x4123dc
jne 0x40b9de
jmp 0x40bdb0
mov ebx, dword [ebx]
cmp ebx, 0x4123dc
je 0x40bdb0
cmp eax, dword [ebx + 0x18]
jne 0x40b9d0
cmp edx, dword [ebx + 0xc]
jne 0x40b9d0
cmp ecx, 1
je 0x40bf9f
cmp ecx, 2
je 0x40bf4f
cmp ecx, 4
jne 0x40bc87
mov eax, dword [ebp - 0xb4]
mov edi, 1
mov dword [ebx + 0x3b0], eax
lea esi, [esi]
mov eax, dword [ebp - 0x3c0]
test eax, eax
je 0x40ba2e
mov dword [esp], eax
call dword [sym.imp.user32.dll_DestroyIcon]
sub esp, 4
call sym._sync_taskbar_buttons
jmp 0x40b362
mov eax, dword [ebp - 0x3fc]
mov dword [esp + 0x18], 0x1c
xor edi, edi
mov dword [esp + 0x14], 0x4125c0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov eax, dword [esi + 0x18]
mov dword [esp], 0
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_DrawCaptionTempW]
sub esp, 0x1c
jmp 0x40b362
mov esi, dword [0x4123ec]
lea eax, [ebp - 0x3d4]
mov dword [ebp - 0x3fc], eax
test esi, esi
je 0x40bd78
mov eax, dword [0x412664]
lea ebx, [ebp - 0x3c8]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov edi, ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x80000000
mov dword [esp + 0x18], 0x80000000
mov dword [esp + 0x14], 0x80000000
mov dword [esp + 0x10], 0x80000000
mov dword [esp + 0xc], 0x800000c3
mov dword [esp + 8], 0
mov dword [esp + 4], str.tooltips_class32
mov dword [esp], 8
call dword [sym.imp.user32.dll_CreateWindowExW]
mov ecx, 9
mov ebx, dword [sym.imp.user32.dll_SendMessageW]
mov edx, eax
mov dword [0x412144], eax
xor eax, eax
sub esp, 0x30
rep stosd dword es:[edi], eax
mov eax, dword [0x412664]
mov dword [esp], edx
mov dword [ebp - 0x3d4], 0x30
mov dword [ebp - 0x3cc], eax
mov eax, dword [0x412140]
mov dword [ebp - 0x3d0], 0x20
add eax, 0x124
mov dword [esp + 8], 0
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp - 0x3fc]
mov dword [esp + 4], 0x432
mov dword [esp + 0xc], eax
call ebx
mov eax, dword [0x412140]
sub esp, 0x10
mov edx, dword [eax + 0x3a4]
mov ecx, edx
and ecx, 0xf
cmp ecx, 4
je 0x40bd5f
add eax, 0x324
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [0x412144]
mov dword [esp + 4], 0x421
xor edi, edi
mov dword [esp], eax
call ebx
mov eax, dword [0x412140]
sub esp, 0x10
call sym._set_balloon_position
mov eax, dword [ebp - 0x3fc]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x411
mov dword [esp + 0xc], eax
mov eax, dword [0x412144]
mov dword [esp], eax
call ebx
mov eax, dword [0x412664]
sub esp, 0x10
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [sym.imp.user32.dll_KillTimer]
mov eax, dword [0x412140]
sub esp, 8
mov dword [esp + 0xc], 0
mov eax, dword [eax + 0x3a8]
mov dword [esp + 4], 2
mov dword [esp + 8], eax
mov eax, dword [0x412664]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetTimer]
sub esp, 0x10
jmp 0x40b362
mov eax, dword [0x4126e0]
test eax, eax
je 0x40be9d
lea edx, [ebp - 0x3d4]
mov dword [esp], ecx
mov dword [esp + 4], edx
call eax
mov edi, eax
cmp eax, 0xffffffff
jne 0x40bd40
mov ecx, dword [esi]
xor edi, edi
cmp ecx, 4
je 0x40ba18
ja 0x40bc87
test ecx, ecx
je 0x40be9d
cmp ecx, 3
jne 0x40ba18
test byte [0x412114], 1
jne 0x40bc97
xor edi, edi
jmp 0x40ba18
mov dword [esp + 0x10], ecx
xor edi, edi
mov dword [esp + 0xc], str.unhandled_tray_message:__Id_n
mov dword [esp + 8], str.handle_incoming
mov dword [esp + 4], 0x412114
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x40ba18
mov dword [esp + 4], 0xfffffff4
mov dword [esp], esi
call dword [sym.imp.user32.dll_GetWindowLongW]
sub esp, 8
mov edi, eax
test eax, eax
je 0x40bdc2
mov dword [esp], eax
mov ebx, eax
call dword [sym.imp.user32.dll_IsIconic]
sub esp, 4
mov edi, eax
test eax, eax
jne 0x40bdd4
mov eax, dword [sym.imp.user32.dll_IsWindowEnabled]
mov dword [esp], ebx
mov dword [ebp - 0x3fc], eax
call eax
sub esp, 4
test eax, eax
je 0x40bdff
call dword [sym.imp.user32.dll_GetForegroundWindow]
cmp ebx, eax
je 0x40c059
mov dword [esp], ebx
call dword [sym.imp.user32.dll_SetForegroundWindow]
sub esp, 4
jmp 0x40b362
mov eax, dword [ebp - 0x3c0]
test eax, eax
je 0x40b362
mov dword [esp], eax
call dword [sym.imp.user32.dll_DestroyIcon]
sub esp, 4
jmp 0x40b362
lea edx, [eax + 0x324]
mov dword [esp + 0xc], edx
mov eax, dword [eax + 0x3ac]
mov dword [esp + 8], eax
jmp 0x40bba8
mov dword [ebp - 0x3d4], 8
mov dword [ebp - 0x3d0], 0x4008
mov dword [esp], eax
call dword [0x41c460]
mov dword [0x4123ec], 1
sub esp, 4
jmp 0x40baaa
mov eax, dword [0x4126e0]
test eax, eax
je 0x40bc69
jmp 0x40bc4d
mov eax, dword [0x412664]
mov dword [esp], eax
call sym._do_startmenu
jmp 0x40b362
mov dword [esp + 0xc], 0
xor edi, edi
mov dword [esp + 8], 0xf120
mov dword [esp + 4], 0x112
mov dword [esp], ebx
call dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0x10
jmp 0x40b362
call dword [sym.imp.user32.dll_GetDesktopWindow]
mov dword [esp + 4], 5
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_GetWindow]
mov dword [ebp - 0x400], eax
call eax
sub esp, 8
mov esi, eax
cmp ebx, eax
je 0x40c082
test eax, eax
je 0x40c082
mov dword [ebp - 0x404], edi
mov edi, dword [ebp - 0x400]
jmp 0x40be5a
mov dword [esp], esi
mov dword [esp + 4], 2
call edi
sub esp, 8
mov esi, eax
test eax, eax
je 0x40be90
cmp ebx, eax
je 0x40be90
mov dword [esp], esi
call dword [sym.imp.user32.dll_IsWindowVisible]
sub esp, 4
test eax, eax
je 0x40be40
mov dword [esp], esi
mov eax, dword [ebp - 0x3fc]
call eax
sub esp, 4
test eax, eax
je 0x40be40
mov dword [esp + 4], 4
mov dword [esp], esi
call edi
sub esp, 8
cmp ebx, eax
jne 0x40be40
mov edi, dword [ebp - 0x404]
mov ebx, esi
jmp 0x40bd2f
mov ecx, dword [ebp - 0x3d0]
mov edx, dword [ebp - 0x3cc]
test byte [0x412114], 8
je 0x40beea
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.id0x_x__hwnd_p_n
mov dword [esp + 8], str.add_icon
mov dword [esp + 4], 0x412114
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_4
mov edx, dword [ebp - 0x3cc]
mov ecx, dword [ebp - 0x3d0]
mov eax, dword [0x4123dc]
cmp eax, 0x4123dc
jne 0x40bf0d
jmp 0x40bfdd
mov eax, dword [eax]
cmp eax, 0x4123dc
je 0x40bfdd
cmp dword [eax + 0x18], edx
jne 0x40bf00
cmp dword [eax + 0xc], ecx
jne 0x40bf00
test byte [0x412114], 4
je 0x40bc90
mov dword [esp + 0xc], str.duplicate_tray_icon_add__buggy_app__n
xor edi, edi
mov dword [esp + 8], str.add_icon
mov dword [esp + 4], 0x412114
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x40ba18
mov eax, ebx
mov edi, 1
call sym._hide_icon.isra.0
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov dword [edx + 4], eax
mov edx, dword [ebx]
mov dword [eax], edx
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DestroyIcon]
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
jmp 0x40ba18
lea edx, [ebp - 0x3d4]
mov eax, ebx
call sym._modify_icon
mov edi, eax
jmp 0x40ba18
mov eax, dword [ebp - 0x3fc]
mov edx, 0x400
xor edi, edi
mov dword [esp], eax
mov eax, dword [ebp - 0x400]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x404]
call sym._notify_owner
jmp 0x40b362
mov dword [esp + 8], 0x3b4
mov dword [esp + 4], 8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov ebx, eax
test eax, eax
je 0x40c089
xor eax, eax
mov ecx, 0xed
lea edx, [ebp - 0x3d4]
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x3cc]
mov dword [ebx + 0x20], 0xffffffff
mov dword [ebx], 0x4123dc
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x3d0]
mov dword [ebx + 0xc], eax
mov eax, dword [0x4123e0]
mov dword [ebx + 4], eax
mov dword [eax], ebx
mov eax, ebx
mov dword [0x4123e0], ebx
call sym._modify_icon
mov edi, eax
jmp 0x40ba18
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf020
mov dword [esp + 4], 0x112
mov dword [esp], ebx
call dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0x10
jmp 0x40b362
mov ebx, esi
jmp 0x40bd2f
test byte [0x412114], 2
je 0x40bc90
mov dword [esp + 0xc], str.out_of_memory_n
xor edi, edi
mov dword [esp + 8], str.add_icon
mov dword [esp + 4], 0x412114
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_4
jmp 0x40ba18