Function at 0x4209f0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push 5
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x42104c
push 0xfffffffffffffff0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x24], eax
push 0xffffffffffffffe0
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.USER32.dll_GetClassWord]
mov word [ebp - 0x10], ax
movzx eax, word [ebp - 0x10]
movzx ecx, word [0x522934]
cmp eax, ecx
je 0x420b93
movzx edx, word [ebp - 0x10]
movzx eax, word [0x52208c]
cmp edx, eax
je 0x420b93
movzx ecx, word [ebp - 0x10]
movzx edx, word [0x522198]
cmp ecx, edx
je 0x420b93
movzx eax, word [ebp - 0x10]
movzx ecx, word [0x522180]
cmp eax, ecx
je 0x420b93
movzx edx, word [ebp - 0x10]
movzx eax, word [0x5222ba]
cmp edx, eax
je 0x420b93
movzx ecx, word [ebp - 0x10]
movzx edx, word [0x522086]
cmp ecx, edx
je 0x420b93
push 0x88
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
fld qword [0x4f2c58]
fstp qword [eax]
mov ecx, dword [ebp - 0x30]
fld qword [0x4f2c68]
fstp qword [ecx + 8]
mov edx, dword [ebp - 0x30]
fld qword [0x4f2c60]
fstp qword [edx + 0x10]
mov eax, dword [ebp - 0x30]
fld qword [0x4f2c58]
fstp qword [eax + 0x18]
mov ecx, dword [ebp - 0x30]
fld qword [0x4f2c58]
fstp qword [ecx + 0x20]
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x28], 0
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x2c], 0
mov ecx, dword [ebp - 0x30]
mov dword [ecx + 0x30], 0
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x3c], 0xffffffff
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x40], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x48], 0
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x58], 0
mov ecx, dword [ebp - 0x30]
mov dword [ecx + 0x5c], 0
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x60], 0
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x64], 0
mov ecx, dword [ebp - 0x30]
mov dword [ecx + 0x68], 0
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x6c], 0
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x70], 0
mov ecx, dword [ebp - 0x30]
mov dword [ecx + 0x7c], 0
mov edx, dword [ebp - 0x30]
push edx
push 0xffffffffffffffeb
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x420ba2
push 0xffffffffffffffeb
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x30], eax
movzx edx, word [ebp - 0x10]
movzx eax, word [0x52202a]
cmp edx, eax
jne 0x420bfd
push 0x425860
push 0xfffffffffffffffc
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov edx, dword [ebp - 0x24]
and edx, 4
je 0x420bd6
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x48], 0xffff
jmp 0x420be0
mov ecx, dword [ebp - 0x30]
mov dword [ecx + 0x48], 0x7fff
push 0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x48]
push eax
push 0xc5
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x420f7b
movzx edx, word [ebp - 0x10]
movzx eax, word [0x522190]
cmp edx, eax
jne 0x420d44
mov ecx, dword [ebp - 0x24]
and ecx, 0xf
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
not edx
and edx, dword [ebp - 0x24]
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x38], 2
je 0x420c36
cmp dword [ebp - 0x38], 5
je 0x420c36
cmp dword [ebp - 0x38], 6
jne 0x420c3f
mov dword [ebp - 0x38], 3
jmp 0x420c4c
cmp dword [ebp - 0x38], 4
jne 0x420c4c
mov dword [ebp - 0x38], 9
mov eax, dword [ebp - 0x24]
or eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
and ecx, 0x80
jne 0x420c6c
mov edx, dword [ebp - 0x24]
and edx, 0x40
je 0x420d2e
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x24]
and ecx, 0x80
je 0x420c94
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x28], 0x1020
jmp 0x420ca2
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 0x28]
push edx
push 0
push 0
mov eax, dword [ebp - 0x1c]
push eax
movzx ecx, word [ebp - 8]
push ecx
mov edx, dword [0x521dfc]
push edx
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x420ce3
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
push 0xf7
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x420d09
mov eax, dword [ebp - 0x24]
and eax, 0x80
je 0x420cff
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x420d09
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.USER32.dll_DestroyIcon]
push 0
mov eax, dword [ebp - 0x1c]
push eax
push 0xf6
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x420d2e
mov edx, dword [ebp - 0x24]
and edx, 0xffffff3f
mov dword [ebp - 0x24], edx
push 0x4256a0
push 0xfffffffffffffffc
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x420f7b
movzx ecx, word [ebp - 0x10]
movzx edx, word [0x522030]
cmp ecx, edx
jne 0x420ea7
mov eax, dword [ebp - 0x24]
and eax, 0xf
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xe
je 0x420d6c
cmp dword [ebp - 0x38], 3
jne 0x420de8
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x38], 0xe
jne 0x420d88
mov dword [ebp - 0x1c], 0
jmp 0x420d8f
mov dword [ebp - 0x1c], 1
push 0
mov edx, dword [ebp - 0x1c]
push edx
push 0x173
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x420de3
push 0
push 0
push 0
mov ecx, dword [ebp - 0x1c]
push ecx
movzx edx, word [ebp - 8]
push edx
mov eax, dword [0x521dfc]
push eax
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x420de3
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
push 0x172
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x420e91
cmp dword [ebp - 0x38], 0xf
jne 0x420e91
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], 3
push 0x50cffc
movzx edx, word [ebp - 8]
push edx
mov eax, dword [0x521dfc]
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x420e91
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [0x521dfc]
push edx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x420e91
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x420e91
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [0x521dfc]
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
call dword [sym.imp.GDI32.dll_SetEnhMetaFileBits]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
push 0x172
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push 0x425a10
push 0xfffffffffffffffc
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x420f7b
movzx eax, word [ebp - 0x10]
movzx ecx, word [0x52203e]
cmp eax, ecx
jne 0x420ecc
push 0x4263d0
push 0xfffffffffffffffc
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x420f7b
movzx eax, word [ebp - 0x10]
movzx ecx, word [0x522028]
cmp eax, ecx
jne 0x420f01
push 0
push 8
push 0x130e
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x425ce0
push 0xfffffffffffffffc
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x420f7b
movzx ecx, word [ebp - 0x10]
movzx edx, word [0x522084]
cmp ecx, edx
jne 0x420f7b
push 0xfffffffffffffff0
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
or ecx, 0x35
mov dword [ebp - 0x24], ecx
push 0x426780
push 0xfffffffffffffffc
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
call fcn.0040f1d0
test eax, eax
je 0x420f7b
cmp dword [0x51635c], 0
jne 0x420f61
push str.SetWindowTheme
mov eax, dword [0x51542c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51635c], eax
cmp dword [0x51635c], 0
je 0x420f7b
push 0
push str.explorer
mov ecx, dword [ebp - 0x14]
push ecx
call dword [0x51635c]
mov edx, dword [ebp - 0x24]
push edx
push 0xfffffffffffffff0
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0xffffffffffffffec
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
and edx, 0xfffffffb
mov dword [ebp - 0x2c], edx
movzx eax, word [ebp - 0x10]
movzx ecx, word [0x522190]
cmp eax, ecx
jne 0x420fcc
mov edx, dword [ebp - 0x24]
and edx, 0xf
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 7
jne 0x420fca
mov eax, dword [ebp - 0x2c]
or eax, 0x20
mov dword [ebp - 0x2c], eax
jmp 0x421005
movzx ecx, word [ebp - 0x10]
movzx edx, word [0x522030]
cmp ecx, edx
jne 0x421005
mov eax, dword [ebp - 0x24]
and eax, 0x1f
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 7
je 0x420ffc
cmp dword [ebp - 0x38], 8
je 0x420ffc
cmp dword [ebp - 0x38], 9
je 0x420ffc
cmp dword [ebp - 0x38], 0x12
jne 0x421005
mov ecx, dword [ebp - 0x2c]
or ecx, 0x20
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
push edx
push 0xffffffffffffffec
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0xfffffffffffffffc
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x34], eax
push 0x425910
push 0xfffffffffffffffc
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 2
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x14], eax
jmp 0x420a05
mov edx, dword [ebp + 0xc]
push edx
push 0xffffffffffffffeb
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0xfffffffffffffff2
mov ecx, dword [0x514f20]
push ecx
call dword [sym.imp.USER32.dll_GetClassLongA]
push eax
push 1
push 0x80
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0xffffffffffffffeb
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x4c], edx
push 0xffffffffffffffec
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
or edx, 0x40000
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
push eax
push 0xffffffffffffffec
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
cmp dword [0x516020], 0
jne 0x4210fb
mov dword [0x51602c], 0
xor eax, eax
cmp dword [ebp + 0xc], 0
sete al
jmp 0x421131
mov edx, dword [0x516020]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov edx, dword [ebp - 0x14]
push edx
call fcn.00424f90
add esp, 4
mov dword [0x51602c], 0
xor eax, eax
mov esp, ebp
pop ebp
ret 8