Function at 0x40a140
Capabilities:
Extract resource via kernel32 functions

Disassembly:
sub esp, 0x28
cmp dword [0x448808], 0
push ebx
push esi
mov esi, dword [esp + 0x34]
push edi
push ebp
je 0x40a15a
push esi
call fcn.0040a3b0
mov eax, dword [esp + 0x44]
push 5
push eax
mov ecx, dword [0x448d48]
push ecx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
test eax, eax
jne 0x40a192
push 0
push 0x30
push 0x328
push 0
push esi
call fcn.0043ce50
add esp, 0x14
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x28
ret 0xc
push eax
mov eax, dword [0x448d48]
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x40a1c7
push 0
push 0x30
push 0x329
push 0
push esi
call fcn.0043ce50
add esp, 0x14
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x28
ret 0xc
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
test edi, edi
jne 0x40a203
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
push 0
push 0x30
push 0x32a
push 0
push esi
call fcn.0043ce50
add esp, 0x14
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x28
ret 0xc
xor eax, eax
mov ax, word [edi + 8]
lea ecx, [eax*4 + 4]
push ecx
call fcn.0043d810
mov dword [0x448808], eax
test eax, eax
jne 0x40a22b
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x28
ret 0xc
xor eax, eax
mov ecx, dword [0x448808]
mov ax, word [edi + 8]
lea edx, [edi + 0x12]
push edx
mov dword [ecx], eax
call fcn.0040a430
push eax
call fcn.0040a460
push eax
call fcn.0040a490
test byte [edi], 0x40
je 0x40a259
push eax
call fcn.0040a4b0
mov ecx, eax
call fcn.0040a420
mov edi, eax
mov eax, dword [esp + 0x40]
push eax
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, eax
lea eax, [esp + 0x28]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [esp + 0x28]
push 2
push eax
push esi
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
push 0
mov dword [esp + 0x28], ecx
push 0
push 0x31
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
push esi
mov ebp, dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [esp + 0x20], eax
call ebp
mov dword [esp + 0x14], eax
test eax, eax
je 0x40a2d2
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0
push 0xb
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov ebp, dword [0x448808]
mov eax, dword [0x448808]
add ebp, 4
mov dword [esp + 0x10], edi
xor edi, edi
cmp dword [eax], edi
jle 0x40a325
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x18]
push edx
lea edx, [esp + 0x1c]
push eax
push ebx
push edx
push ecx
push esi
call fcn.0040a580
test eax, eax
je 0x40a389
mov dword [ebp], eax
add ebp, 4
mov ebx, eax
inc edi
mov eax, dword [0x448808]
cmp dword [eax], edi
jg 0x40a2ea
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
cmp dword [esp + 0x14], 0
je 0x40a37a
push 0
push 1
push 0xb
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [esp + 0x28]
mov ecx, dword [esp + 0x40]
push eax
push ecx
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [esp + 0x28]
push 2
push ecx
push esi
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
lea ecx, [esp + 0x28]
push 1
push ecx
push esi
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x28
ret 0xc
push 0
push 1
push 0xb
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x28
ret 0xc