Function at 0x409b30
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1024
call fcn.0040e930
mov eax, dword [0x42e430]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x1018], eax
xor eax, eax
push 0x7fe
push eax
mov word [ebp - 0x804], ax
lea eax, [ebp - 0x802]
push eax
mov dword [ebp - 0x1014], ebx
mov dword [ebp - 0x1010], edi
call fcn.0040cae0
xor eax, eax
push 0x7fe
push eax
mov word [ebp - 0x1004], ax
lea eax, [ebp - 0x1002]
push eax
call fcn.0040cae0
mov eax, dword [0x430844]
add esp, 0x18
sub eax, 2
je 0x409bea
push str.open___must_be_called_first
lea ecx, [ebp - 0x1014]
call fcn.004082e0
mov eax, dword [eax]
test eax, eax
je 0x409bc1
mov eax, dword [eax]
jmp 0x409bc3
xor eax, eax
lea ecx, [ebp - 0x1014]
mov dword [ebx], eax
call fcn.00408410
mov dword [edi], 1
xor eax, eax
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040ca69
mov esp, ebp
pop ebp
ret 0xc
push esi
push 0x400
lea eax, [ebp - 0x804]
mov ecx, 0x4312c0
push eax
call fcn.00401340
mov eax, dword [0x430840]
sub eax, 0
je 0x409e5a
dec eax
jne 0x409fab
mov edi, dword [0x4310a8]
mov esi, dword [0x4310a4]
mov dword [ebp - 0x100c], edi
cmp esi, edi
je 0x409fa5
mov eax, 0x30
mov bl, byte [esi + 0x3a]
cmp bl, 9
jae 0x409c42
movzx ecx, bl
jmp 0x409c9f
jne 0x409c50
mov dword [ebp - 0x1008], 0xc
jmp 0x409ca5
cmp bl, 0xa
jne 0x409c61
mov dword [ebp - 0x1008], 0x10
jmp 0x409ca5
cmp bl, 0xb
jne 0x409c72
mov dword [ebp - 0x1008], 0x14
jmp 0x409ca5
cmp bl, 0xc
jne 0x409c83
mov dword [ebp - 0x1008], 0x18
jmp 0x409ca5
cmp bl, 0xd
jne 0x409c94
mov dword [ebp - 0x1008], 0x20
jmp 0x409ca5
cmp bl, 0xe
mov ecx, 0x40
cmove ecx, eax
mov dword [ebp - 0x1008], ecx
mov ecx, dword [0x431090]
movzx edx, word [esi + 6]
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x409ce8
cmp dword [eax + 0x10], edx
jae 0x409cc2
mov eax, dword [eax + 8]
jmp 0x409cc6
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x409cb8
mov eax, dword [0x431090]
cmp ecx, eax
je 0x409ced
cmp edx, dword [ecx + 0x10]
jb 0x409ced
mov dword [ebp - 0x1024], ecx
lea eax, [ebp - 0x1024]
jmp 0x409cf9
mov eax, dword [0x431090]
mov dword [ebp - 0x101c], eax
lea eax, [ebp - 0x101c]
push dword [ebp - 0x1008]
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x20]
mov dword [ebp - 0x1020], eax
movzx eax, bl
push eax
mov eax, ecx
shr ecx, 1
shr eax, 2
and ecx, 1
and eax, 1
test edx, 0x80000000
push eax
push ecx
mov ecx, 0x425124
mov eax, 0x4232f8
cmovne eax, ecx
mov ecx, dword [esi + 0x18]
push eax
mov eax, dword [ebp - 0x1020]
and edx, 0x7fffffff
push edx
mov edx, dword [esi + 0x1c]
mov eax, dword [eax]
push dword [eax + 0x14]
call fcn.0040ec6e
mulsd xmm0, qword [0x423b38]
lea eax, [ebp - 0x804]
sub esp, 8
movsd qword [esp], xmm0
push str.____.6f_tCANFD_t_u_tRx_t_x_s_t_u_t_u_t_u_t_u
push 0x400
push eax
call fcn.0040ca4d
add esp, 0x30
xor ebx, ebx
lea edi, [ebx + 0x30]
lea ecx, [ecx]
mov cl, byte [esi + 0x3a]
cmp cl, 9
jae 0x409d8d
movzx eax, cl
jmp 0x409dd1
jne 0x409d96
mov eax, 0xc
jmp 0x409dd1
cmp cl, 0xa
jne 0x409da2
mov eax, 0x10
jmp 0x409dd1
cmp cl, 0xb
jne 0x409dae
mov eax, 0x14
jmp 0x409dd1
cmp cl, 0xc
jne 0x409dba
mov eax, 0x18
jmp 0x409dd1
cmp cl, 0xd
jne 0x409dc6
mov eax, 0x20
jmp 0x409dd1
cmp cl, 0xe
mov eax, 0x40
cmove eax, edi
cmp ebx, eax
jge 0x409e12
movzx eax, byte [ebx + esi + 0x40]
push eax
push str._t_8x
lea eax, [ebp - 0x1004]
push 0x400
push eax
call fcn.0040ca4d
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x804]
push 0x400
push eax
call fcn.0040d4b0
add esp, 0x1c
inc ebx
jmp 0x409d80
mov ecx, dword [0x43086c]
lea eax, [ebp - 0x804]
push 0x400
push 0x430870
push eax
call fcn.0040bed0
mov ecx, dword [0x430860]
test eax, eax
mov eax, 1
cmovne ecx, eax
sub esi, 0xffffff80
mov eax, edi
mov dword [0x430860], ecx
cmp esi, dword [ebp - 0x100c]
jne 0x409c35
jmp 0x409f9f
mov edi, dword [0x43109c]
mov esi, dword [0x431098]
cmp esi, edi
je 0x409fa5
mov edi, edi
mov ebx, dword [0x431090]
mov ecx, ebx
movzx edx, byte [esi + 1]
mov eax, dword [ebx + 4]
cmp byte [eax + 0xd], 0
jne 0x409eb0
cmp dword [eax + 0x10], edx
jae 0x409e8f
mov eax, dword [eax + 8]
jmp 0x409e93
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x409e85
cmp ecx, ebx
je 0x409eb0
cmp edx, dword [ecx + 0x10]
jb 0x409eb0
mov dword [ebp - 0x100c], ecx
lea edx, [ebp - 0x100c]
jmp 0x409ebc
mov dword [ebp - 0x101c], ebx
lea edx, [ebp - 0x101c]
movzx eax, word [esi + 0x16]
mov ebx, 0x425124
mov ecx, dword [esi + 0x10]
test ecx, 0x80000000
push eax
mov eax, 0x4232f8
cmovne eax, ebx
and ecx, 0x7fffffff
push eax
mov eax, dword [edx]
mov edx, dword [esi + 0xc]
push ecx
mov ecx, dword [esi + 8]
push dword [eax + 0x14]
call fcn.0040ec6e
mulsd xmm0, qword [0x423b38]
lea eax, [ebp - 0x804]
sub esp, 8
movsd qword [esp], xmm0
push 0x425128
push 0x400
push eax
call fcn.0040ca4d
xor eax, eax
add esp, 0x24
xor ebx, ebx
cmp ax, word [esi + 0x16]
jae 0x409f62
movzx eax, byte [ebx + esi + 0x20]
push eax
push 0x425158
lea eax, [ebp - 0x1004]
push 0x400
push eax
call fcn.0040ca4d
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x804]
push 0x400
push eax
call fcn.0040d4b0
movzx eax, word [esi + 0x16]
inc ebx
add esp, 0x1c
cmp ebx, eax
jb 0x409f22
mov ecx, dword [0x43086c]
lea eax, [ebp - 0x804]
push 0x400
push 0x430870
push eax
call fcn.0040bed0
mov ecx, dword [0x430860]
test eax, eax
mov eax, 1
cmovne ecx, eax
add esi, 0x30
mov dword [0x430860], ecx
cmp esi, edi
jne 0x409e70
mov ebx, dword [ebp - 0x1014]
mov edi, dword [ebp - 0x1010]
mov ecx, dword [0x43086c]
lea eax, [ebp - 0x804]
push 0x400
push eax
call fcn.0040bc40
test eax, eax
je 0x40a043
lea eax, [ebp - 0x804]
push eax
lea ecx, [ebp - 0x100c]
call fcn.004082e0
mov eax, dword [eax]
test eax, eax
je 0x409fe6
mov eax, dword [eax]
jmp 0x409fe8
xor eax, eax
mov esi, dword [ebp - 0x100c]
mov dword [ebx], eax
test esi, esi
je 0x40a038
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
jne 0x40a038
test esi, esi
je 0x40a038
mov eax, dword [esi]
test eax, eax
je 0x40a018
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x40a02f
push eax
call fcn.0040cc32
add esp, 4
mov dword [esi + 4], 0
push esi
call fcn.0040c8d6
add esp, 4
mov dword [edi], 1
jmp 0x40a124
mov esi, dword [0x43086c]
test esi, esi
je 0x40a05d
mov ecx, esi
call fcn.004012f0
push esi
call fcn.0040c8d6
add esp, 4
mov ecx, 0x431090
mov dword [0x43086c], 0
call fcn.00409ae0
push 0xca
push dword [0x430778]
call dword [sym.imp.USER32.dll_LoadIconW]
mov esi, dword [ebp - 0x1018]
push str.CANSRV__CLOSE_
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x20]
push eax
call fcn.00408220
add esp, 8
lea eax, [esi + 8]
push eax
push 1
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
push str.close
lea ecx, [ebp - 0x1018]
mov dword [0x430844], 1
call fcn.004082e0
mov eax, dword [eax]
test eax, eax
je 0x40a0cc
mov eax, dword [eax]
jmp 0x40a0ce
xor eax, eax
mov esi, dword [ebp - 0x1018]
mov dword [ebx], eax
test esi, esi
je 0x40a11e
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
jne 0x40a11e
test esi, esi
je 0x40a11e
mov eax, dword [esi]
test eax, eax
je 0x40a0fe
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x40a115
push eax
call fcn.0040cc32
add esp, 4
mov dword [esi + 4], 0
push esi
call fcn.0040c8d6
add esp, 4
mov dword [edi], 0
mov ecx, dword [ebp - 4]
xor eax, eax
pop esi
pop edi
xor ecx, ebp
pop ebx
call fcn.0040ca69
mov esp, ebp
pop ebp
ret 0xc