Function at 0x40410c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
push edi
mov dword [ebp - 0x218], ecx
mov eax, dword [ebp - 0x218]
cmp dword [eax + 8], 0
je 0x404133
mov ecx, dword [ebp - 0x218]
call fcn.00404ae9
cmp dword [ebp + 8], 0
jne 0x40413e
jmp 0x40486f
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp + 8]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp + 0x10]
mov dword [eax], ecx
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp + 0xc]
mov dword [edx + 8], eax
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x30], 0
push 0x1a
push 0
lea ecx, [ebp - 0xfc]
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
push 5
mov edx, dword [ebp + 0x10]
and edx, 0xffff
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x30], 0
jne 0x4041ca
jmp 0x40486f
mov edx, dword [ebp - 0x30]
push edx
call fcn.00404d80
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x4041f6
push 0x1a
mov eax, dword [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xfc]
push ecx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
jmp 0x404245
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0x30]
mov cx, word [eax + 0xa]
mov word [ebp - 0xea], cx
mov edx, dword [ebp - 0x30]
mov ax, word [edx + 0xc]
mov word [ebp - 0xe8], ax
mov ecx, dword [ebp - 0x30]
mov dx, word [ecx + 0xe]
mov word [ebp - 0xe6], dx
mov eax, dword [ebp - 0x30]
mov cx, word [eax + 0x10]
mov word [ebp - 0xe4], cx
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.004048f6
add esp, 8
cmp dword [ebp - 0xd0], 0
jl 0x40426d
cmp dword [ebp - 0xd0], 0x7fff
jle 0x40428d
mov ecx, dword [ebp - 0xd0]
neg ecx
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
and edx, 0xffff
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xc0]
push eax
push 0
push 0
push 0
push 0
push 0x86
push 0
push 0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
push 0
push 0
push 0
fild dword [ebp - 0xd0]
fmul qword [ebp + 0x14]
fdiv qword [0x414b88]
fadd qword [0x414b80]
call sub.MSVCRT.dll__ftol
neg eax
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
mov ecx, dword [ebp - 0x218]
mov dword [ecx + 0xc], eax
push 0
push 0
push 0x31
mov edx, dword [ebp - 0x218]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x218]
mov dword [ecx + 0x10], eax
push 1
mov edx, dword [ebp - 0x218]
mov eax, dword [edx + 0xc]
push eax
push 0x30
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0xe0]
push eax
mov ecx, dword [ebp - 0x218]
add ecx, 0xc
push ecx
lea edx, [ebp - 0x68]
push edx
call fcn.00404876
add esp, 0xc
lea eax, [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.USER32.dll_EndPaint]
fild dword [ebp - 0xe0]
fstp qword [ebp - 0x7c]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x40100000
fild dword [ebp - 0xdc]
fstp qword [ebp - 0x74]
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0x40200000
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
movsx eax, word [ebp - 0xe6]
mov dword [ebp - 0x21c], eax
fild dword [ebp - 0x21c]
fmul qword [ebp - 0x7c]
fdiv qword [ebp - 0x10]
fadd qword [0x414b80]
call sub.MSVCRT.dll__ftol
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x1c], ecx
movsx edx, word [ebp - 0xe4]
mov dword [ebp - 0x220], edx
fild dword [ebp - 0x220]
fmul qword [ebp - 0x74]
fdiv qword [ebp - 8]
fadd qword [0x414b80]
call sub.MSVCRT.dll__ftol
mov ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x18], ecx
lea edx, [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov edx, dword [ebp - 0xf4]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xf0]
push ecx
lea edx, [ebp - 0x24]
push edx
call dword [sym.imp.USER32.dll_AdjustWindowRectEx]
push 1
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.USER32.dll_MoveWindow]
push 0x18
push 0
lea eax, [ebp - 0x4c]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00404dd0
add esp, 4
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x14], 0
je 0x4044d2
push 0x18
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x4c]
push ecx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
jmp 0x404530
mov edx, dword [ebp - 0xd4]
mov ax, word [edx + 0xc]
mov word [ebp - 0x3c], ax
mov ecx, dword [ebp - 0xd4]
mov dx, word [ecx + 0xe]
mov word [ebp - 0x3a], dx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0xd4]
xor eax, eax
mov ax, word [edx + 0x10]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xd4]
mov cx, word [eax + 8]
mov word [ebp - 0x40], cx
mov edx, dword [ebp - 0xd4]
mov ax, word [edx + 0xa]
mov word [ebp - 0x3e], ax
mov dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00404da0
add esp, 4
xor edx, edx
mov dx, word [eax]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x34], 0
jmp 0x404560
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x28]
jge 0x40485c
cmp dword [ebp - 0x34], 0
jne 0x40458c
push 5
mov edx, dword [ebp - 0x218]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0xd8], eax
jmp 0x4045a1
push 2
mov ecx, dword [ebp - 0xd8]
push ecx
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x4045d3
mov edx, dword [ebp - 0xd8]
push edx
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
cmp eax, dword [ebp - 0x38]
je 0x4045d3
push 2
mov eax, dword [ebp - 0xd8]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0xd8], eax
jmp 0x4045a1
cmp dword [ebp - 0xd8], 0
jne 0x4045e1
jmp 0x40485c
movsx ecx, word [ebp - 0x40]
mov dword [ebp - 0x224], ecx
fild dword [ebp - 0x224]
fmul qword [ebp - 0x7c]
fdiv qword [ebp - 0x10]
fadd qword [0x414b80]
call sub.MSVCRT.dll__ftol
mov dword [ebp - 0x110], eax
movsx edx, word [ebp - 0x3c]
mov dword [ebp - 0x228], edx
fild dword [ebp - 0x228]
fmul qword [ebp - 0x7c]
fdiv qword [ebp - 0x10]
fadd qword [0x414b80]
call sub.MSVCRT.dll__ftol
mov dword [ebp - 0x108], eax
movsx eax, word [ebp - 0x3e]
mov dword [ebp - 0x22c], eax
fild dword [ebp - 0x22c]
fmul qword [ebp - 0x74]
fdiv qword [ebp - 8]
fadd qword [0x414b80]
call sub.MSVCRT.dll__ftol
mov dword [ebp - 0x10c], eax
movsx ecx, word [ebp - 0x3a]
mov dword [ebp - 0x230], ecx
fild dword [ebp - 0x230]
fmul qword [ebp - 0x74]
fdiv qword [ebp - 8]
fadd qword [0x414b80]
call sub.MSVCRT.dll__ftol
mov dword [ebp - 0x104], eax
push 1
mov edx, dword [ebp - 0x104]
push edx
mov eax, dword [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [ebp - 0x110]
push edx
mov eax, dword [ebp - 0xd8]
push eax
call dword [sym.imp.USER32.dll_MoveWindow]
mov cl, byte [0x4194ac]
mov byte [ebp - 0x214], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x213]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x104
lea edx, [ebp - 0x214]
push edx
mov eax, dword [ebp - 0xd8]
push eax
call dword [sym.imp.USER32.dll_GetClassNameA]
push str.Edit
lea ecx, [ebp - 0x214]
push ecx
call fcn.00404fd0
add esp, 8
test eax, eax
je 0x404727
push str.ListBox
lea edx, [ebp - 0x214]
push edx
call fcn.00404fd0
add esp, 8
test eax, eax
je 0x404727
push str.ComboBox
lea eax, [ebp - 0x214]
push eax
call fcn.00404fd0
add esp, 8
test eax, eax
jne 0x40479c
mov ecx, dword [ebp - 0xc0]
push ecx
push 0
push 0
push 0
push 0
push 0x86
push 0
push 0
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc8]
push eax
push 0
push 0
push 0
fild dword [ebp - 0xd0]
fmul qword [ebp + 0x14]
fdiv qword [0x414b88]
fadd qword [0x414b78]
call sub.MSVCRT.dll__ftol
neg eax
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
mov ecx, dword [ebp - 0x218]
mov dword [ecx + 0x14], eax
push 1
mov edx, dword [ebp - 0x218]
mov eax, dword [edx + 0x14]
push eax
push 0x30
mov ecx, dword [ebp - 0xd8]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x4047b7
push 1
mov edx, dword [ebp - 0x218]
mov eax, dword [edx + 0xc]
push eax
push 0x30
mov ecx, dword [ebp - 0xd8]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00404f00
add esp, 8
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x100], ecx
cmp dword [ebp - 0x14], 0
je 0x4047f9
push 0x18
mov edx, dword [ebp - 0x100]
push edx
lea eax, [ebp - 0x4c]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
jmp 0x404857
mov ecx, dword [ebp - 0xd4]
mov dx, word [ecx + 0xc]
mov word [ebp - 0x3c], dx
mov eax, dword [ebp - 0xd4]
mov cx, word [eax + 0xe]
mov word [ebp - 0x3a], cx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xd4]
xor edx, edx
mov dx, word [ecx + 0x10]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0xd4]
mov ax, word [edx + 8]
mov word [ebp - 0x40], ax
mov ecx, dword [ebp - 0xd4]
mov dx, word [ecx + 0xa]
mov word [ebp - 0x3e], dx
jmp 0x404557
mov eax, dword [ebp - 0x60]
push eax
call fcn.00404ff0
mov ecx, dword [ebp - 0x60]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeResource]
pop edi
mov esp, ebp
pop ebp
ret 0x14