Function at 0x4050a0
Capabilities:
Extract resource via kernel32 functions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x42bb13
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x438ddc]
xor eax, esp
mov dword [esp + 0xa8], eax
push ebx
push esi
push edi
mov eax, dword [0x438ddc]
xor eax, esp
push eax
lea eax, [esp + 0xc0]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esi + 0x230]
mov dword [esp + 0x10], esi
call fcn.00401f30
push 2
push str.129
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
je 0x4054e0
push edi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x4054e0
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
test ebx, ebx
je 0x4054e0
push edi
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
lea edi, [ebx + 0x28]
push 0x400
lea ecx, [esp + 0x70]
lea ebx, [eax - 0x28]
call fcn.00414d85
push 0
push ebx
push edi
lea ecx, [esp + 0x78]
mov dword [esp + 0xd4], 0
call fcn.00414dba
push 0
push 0x1000
push 1
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x24]
call fcn.004111c6
push 0x1335ca
mov byte [esp + 0xcc], 1
call fcn.0041a4d8
add esp, 4
mov byte [esp + 0xb4], 0
xor edi, edi
call fcn.0041a4ea
cdq
mov ecx, 0x3e
idiv ecx
cmp dl, 0x1a
jae 0x4051ae
add dl, 0x41
jmp 0x4051bf
cmp dl, 0x34
jae 0x4051b8
add dl, 0x47
jmp 0x4051bf
cmp dl, cl
jae 0x4051c6
sub dl, 4
mov byte [esp + edi + 0x94], dl
inc edi
cmp edi, 0x20
jl 0x405197
test byte [esp + 0x2c], 1
jne 0x4051df
mov edx, dword [esp + 0x28]
push edx
push 4
call fcn.004113f7
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x405205
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00410b06
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
add eax, 4
test byte [esp + 0x2c], 1
mov dword [esp + 0x3c], eax
jne 0x40521f
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004113f7
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x40523d
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00410b06
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
add eax, 4
test byte [esp + 0x2c], 1
mov dword [esp + 0x3c], eax
jne 0x405257
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004113f7
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x405275
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00410b06
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
add eax, 4
test byte [esp + 0x2c], 1
mov dword [esp + 0x68], edx
mov dword [esp + 0x3c], eax
jne 0x405295
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004113f7
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x4052b3
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00410b06
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
add eax, 4
test byte [esp + 0x2c], 1
mov dword [esp + 0x60], edx
mov dword [esp + 0x3c], eax
jne 0x4052d3
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004113f7
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x4052ed
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00410b06
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
push edi
mov dword [esp + 0x40], eax
call fcn.00409a87
add esp, 4
mov ebx, eax
push edi
push ebx
lea ecx, [esp + 0x1c]
call fcn.0041095d
lea eax, [esp + 0x94]
push eax
push ebx
mov eax, edi
call fcn.00408aa0
mov edi, eax
test edi, edi
je 0x405336
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x405327
sub eax, edx
sar eax, 1
mov esi, dword [esp + 0x10]
push eax
push edi
lea ecx, [esi + 0x230]
call fcn.00402120
push edi
call fcn.00409a92
push ebx
call fcn.00409a92
add esp, 8
test byte [esp + 0x2c], 1
jne 0x405369
mov ecx, dword [esp + 0x28]
push ecx
push 4
call fcn.004113f7
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x40538b
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00410b06
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
push edi
mov dword [esp + 0x40], eax
call fcn.00409a87
add esp, 4
mov ebx, eax
push edi
push ebx
lea ecx, [esp + 0x1c]
call fcn.0041095d
lea eax, [esp + 0x94]
push eax
push ebx
mov eax, edi
call fcn.00408aa0
mov edi, eax
lea ecx, [esi + 0x234]
test edi, edi
je 0x4053e1
mov eax, edi
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
nop
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4053d0
sub eax, dword [esp + 0x64]
sar eax, 1
push eax
push edi
call fcn.00402120
push edi
call fcn.00409a92
push ebx
call fcn.00409a92
add esp, 8
test byte [esp + 0x2c], 1
jne 0x40540a
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004113f7
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x40542c
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00410b06
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
push edi
mov dword [esp + 0x40], eax
call fcn.00409a87
add esp, 4
mov ebx, eax
push edi
push ebx
lea ecx, [esp + 0x1c]
call fcn.0041095d
lea eax, [esp + 0x94]
push eax
push ebx
mov eax, edi
call fcn.00408aa0
mov ecx, esi
mov edi, eax
add ecx, 0x238
test edi, edi
je 0x40547f
mov eax, edi
lea esi, [eax + 2]
mov edi, edi
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x405470
sub eax, esi
sar eax, 1
push eax
push edi
call fcn.00402120
push edi
call fcn.00409a92
push ebx
call fcn.00409a92
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x68]
xor ecx, ecx
add esp, 8
cmp dword [esp + 0x68], ecx
mov dword [eax + 0x228], edx
sete cl
mov dword [eax + 0x224], ecx
lea ecx, [esp + 0x14]
call fcn.0041100f
lea ecx, [esp + 0x14]
mov byte [esp + 0xc8], 0
call fcn.00411188
lea ecx, [esp + 0x6c]
mov dword [esp + 0xc8], 0xffffffff
call fcn.00415109
mov ecx, dword [esp + 0xc0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.00419910
mov esp, ebp
pop ebp
ret