Function at 0x41b3e0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59af65
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x608ec4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x34], ecx
movzx eax, word [ebp + 8]
push 0xf0
push eax
push dword [0x612b60]
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, dword [sym.imp.KERNEL32.dll_LockResource]
xor ecx, ecx
mov ebx, dword [sym.imp.KERNEL32.dll_LoadResource]
xor edi, edi
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x24], edi
test eax, eax
je 0x41b451
push eax
push dword [0x612b60]
call ebx
test eax, eax
je 0x41b451
push eax
call esi
mov dword [ebp - 0x44], eax
movzx ecx, word [ebp + 8]
push 5
push ecx
push dword [0x612b60]
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x41b87b
push eax
push dword [0x612b60]
call ebx
test eax, eax
je 0x41b89b
push eax
call esi
mov edx, eax
test edx, edx
je 0x41b89b
movzx ecx, word [edx + 2]
mov esi, 0xffff
mov ebx, ecx
movzx eax, bx
mov dword [ebp - 0x50], eax
xor eax, eax
cmp cx, si
mov dword [ebp - 0x3c], ebx
mov ecx, edx
sete al
lea eax, [eax*8 + 8]
movzx eax, word [eax + edx]
mov dword [ebp - 0x4c], eax
call fcn.00413db0
mov esi, eax
mov eax, dword [ebp - 0x34]
push 5
mov dword [ebp - 0x48], esi
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetWindow]
mov edx, eax
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], ecx
cmp ax, word [ebp - 0x4c]
jae 0x41b87b
mov dword [ebp - 0x54], 0x12
nop dword [eax + eax]
mov eax, 0xffff
cmp bx, ax
jne 0x41b4ff
mov edi, dword [esi + 0x14]
jmp 0x41b503
movzx edi, word [esi + 0x10]
lea eax, [esi + 0x18]
mov ecx, 0xffff
cmp word [ebp - 0x50], cx
lea ebx, [esi + 0x12]
mov dword [ebp - 0x58], eax
mov ecx, 0x12
mov eax, 0x18
cmovne eax, ecx
mov ecx, dword [ebp - 0x38]
cmp word [eax + esi], 0x7b
jne 0x41b7b4
mov ecx, dword [ebp - 0x44]
mov eax, ecx
mov dword [ebp - 0x24], 0
test ecx, ecx
je 0x41b55d
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x30], eax
movzx edx, word [eax]
mov dword [ebp - 0x40], edx
mov edx, dword [eax + 2]
add eax, 6
cmp ecx, edi
je 0x41b5a8
add eax, edx
jne 0x41b540
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 4], ecx
test edi, edi
je 0x41b60c
push edi
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x41b842
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x41b825
mov ecx, dword [ebp - 0x24]
push edi
test ecx, ecx
je 0x41b5be
push ecx
push eax
call fcn.00571b70
add esp, 0xc
xor eax, eax
jmp 0x41b5de
mov eax, 0x378
cmp word [ebp - 0x40], ax
je 0x41b55d
mov eax, dword [ebp - 0x30]
lea edi, [edx + 6]
mov dword [ebp - 0x24], eax
jmp 0x41b55f
push 0
push eax
call fcn.005720f0
add esp, 0xc
call fcn.0057b0a5
mov dword [eax], 0x16
call fcn.0057503f
mov eax, 0x16
push eax
call fcn.00408450
mov edi, dword [ebp - 0x30]
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea eax, [ebp - 0x28]
push eax
push 1
push edi
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
mov dword [ebp - 0x24], eax
test eax, eax
js 0x41b864
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x40], 0
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.00414180
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x24], eax
test eax, eax
js 0x41b77d
call fcn.004196b0
mov ecx, dword [ebp - 0x3c]
mov edx, 0xffff
cmp cx, dx
mov eax, 0x18
cmovne eax, dword [ebp - 0x54]
add eax, esi
mov dword [ebp - 0x30], eax
cmp cx, dx
jne 0x41b695
movzx eax, word [esi + 0xc]
movsx ecx, ax
movzx eax, word [esi + 0xe]
movsx edx, ax
movzx eax, word [esi + 0x10]
cwde
add eax, ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], eax
movzx eax, word [ebx]
cwde
add eax, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MapDialogRect]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x14]
add esi, 8
mov dword [ebp - 0x24], ecx
jmp 0x41b6d8
movzx eax, word [esi + 8]
movsx edx, ax
movzx eax, word [esi + 0xa]
movsx ecx, ax
movzx eax, word [esi + 0xc]
cwde
add eax, edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], eax
movzx eax, word [esi + 0xe]
cwde
add eax, ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MapDialogRect]
movzx eax, word [esi + 0x10]
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
push 0
push dword [0x612b5c]
mov esi, dword [esi]
push eax
mov eax, dword [ebp - 0x34]
or esi, 0x10000
push dword [eax + 4]
mov eax, dword [ebp - 0x14]
sub eax, edx
push eax
mov eax, dword [ebp - 0x18]
sub eax, ecx
push eax
push edx
push ecx
push esi
push 0
push str.AtlAxWinLic140
push dword [ebp - 0x24]
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
je 0x41b775
mov eax, 0xffff
cmp word [ebp - 0x3c], ax
jne 0x41b739
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
test eax, eax
je 0x41b739
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowContextHelpId]
push edi
sub esp, 0x10
lea ecx, [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x30]
call fcn.0041c510
mov dword [ebp - 0x24], eax
test eax, eax
js 0x41b85d
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp word [ebp - 0x38], cx
push 0x13
push ecx
push ecx
push ecx
push ecx
cmove eax, ecx
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov dword [ebp - 0x2c], esi
jmp 0x41b77d
call fcn.0041d730
mov dword [ebp - 0x24], eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x41b798
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
mov esi, 0xffff
cmp cx, si
cmove ebx, dword [ebp - 0x58]
cmp word [ebx], si
jne 0x41b7d0
add ebx, 4
jmp 0x41b7db
test cx, cx
je 0x41b79b
push 2
push edx
call dword [sym.imp.USER32.dll_GetWindow]
mov edx, eax
mov dword [ebp - 0x2c], edx
jmp 0x41b79b
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x41b7d0
cmp word [ebx], si
jne 0x41b7e5
add ebx, 4
jmp 0x41b7f0
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x41b7e5
movzx eax, word [ebx]
test ax, ax
je 0x41b802
cmp cx, si
je 0x41b802
add eax, 0xfffe
mov ecx, dword [ebp - 0x38]
movzx esi, ax
inc ecx
add esi, 5
mov dword [ebp - 0x38], ecx
add esi, ebx
and esi, 0xfffffffc
mov dword [ebp - 0x48], esi
cmp cx, word [ebp - 0x4c]
jae 0x41b878
mov ebx, dword [ebp - 0x3c]
jmp 0x41b4f0
call fcn.0041d730
mov edi, eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x41b87b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x41b87b
mov dword [ebp - 4], 0xffffffff
mov edi, 0x8007000e
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x41b87b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x41b87b
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x41b878
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x24]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056ee93
mov esp, ebp
pop ebp
ret 4
call fcn.0041d730
mov edi, eax
jmp 0x41b87b