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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x42ba13
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x438dd4]
xor eax, esp
mov dword [esp + 0xa8], eax
push ebx
push esi
push edi
mov eax, dword [0x438dd4]
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.00401b90
push 2
push str.129
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
je 0x405270
push edi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x405270
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
test ebx, ebx
je 0x405270
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.00414c79
push 0
push ebx
push edi
lea ecx, [esp + 0x78]
mov dword [esp + 0xd4], 0
call fcn.00414cae
push 0
push 0x1000
push 1
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x24]
call fcn.00410670
push 0x1335ca
mov byte [esp + 0xcc], 1
call fcn.00419fc0
add esp, 4
mov byte [esp + 0xb4], 0
xor edi, edi
call fcn.00419fd2
cdq
mov ecx, 0x3e
idiv ecx
cmp dl, 0x1a
jae 0x404f3e
add dl, 0x41
jmp 0x404f4f
cmp dl, 0x34
jae 0x404f48
add dl, 0x47
jmp 0x404f4f
cmp dl, cl
jae 0x404f56
sub dl, 4
mov byte [esp + edi + 0x94], dl
inc edi
cmp edi, 0x20
jl 0x404f27
test byte [esp + 0x2c], 1
jne 0x404f6f
mov edx, dword [esp + 0x28]
push edx
push 4
call fcn.004108a1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x404f95
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffb0
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
add eax, 4
test byte [esp + 0x2c], 1
mov dword [esp + 0x3c], eax
jne 0x404faf
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108a1
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x404fcd
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffb0
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
add eax, 4
test byte [esp + 0x2c], 1
mov dword [esp + 0x3c], eax
jne 0x404fe7
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108a1
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x405005
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffb0
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 0x405025
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108a1
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x405043
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffb0
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 0x405063
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108a1
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x40507d
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffb0
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
push edi
mov dword [esp + 0x40], eax
call fcn.00409987
add esp, 4
mov ebx, eax
push edi
push ebx
lea ecx, [esp + 0x1c]
call fcn.0040fe07
lea eax, [esp + 0x94]
push eax
push ebx
mov eax, edi
call fcn.00408960
mov edi, eax
test edi, edi
je 0x4050c6
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4050b7
sub eax, edx
sar eax, 1
mov esi, dword [esp + 0x10]
push eax
push edi
lea ecx, [esi + 0x230]
call fcn.00401d90
push edi
call fcn.00409992
push ebx
call fcn.00409992
add esp, 8
test byte [esp + 0x2c], 1
jne 0x4050f9
mov ecx, dword [esp + 0x28]
push ecx
push 4
call fcn.004108a1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x40511b
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffb0
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
push edi
mov dword [esp + 0x40], eax
call fcn.00409987
add esp, 4
mov ebx, eax
push edi
push ebx
lea ecx, [esp + 0x1c]
call fcn.0040fe07
lea eax, [esp + 0x94]
push eax
push ebx
mov eax, edi
call fcn.00408960
mov edi, eax
lea ecx, [esi + 0x234]
test edi, edi
je 0x405171
mov eax, edi
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
nop
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x405160
sub eax, dword [esp + 0x64]
sar eax, 1
push eax
push edi
call fcn.00401d90
push edi
call fcn.00409992
push ebx
call fcn.00409992
add esp, 8
test byte [esp + 0x2c], 1
jne 0x40519a
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108a1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x4051bc
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffb0
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
push edi
mov dword [esp + 0x40], eax
call fcn.00409987
add esp, 4
mov ebx, eax
push edi
push ebx
lea ecx, [esp + 0x1c]
call fcn.0040fe07
lea eax, [esp + 0x94]
push eax
push ebx
mov eax, edi
call fcn.00408960
mov ecx, esi
mov edi, eax
add ecx, 0x238
test edi, edi
je 0x40520f
mov eax, edi
lea esi, [eax + 2]
mov edi, edi
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x405200
sub eax, esi
sar eax, 1
push eax
push edi
call fcn.00401d90
push edi
call fcn.00409992
push ebx
call fcn.00409992
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.004104b9
lea ecx, [esp + 0x14]
mov byte [esp + 0xc8], 0
call fcn.00410632
lea ecx, [esp + 0x6c]
mov dword [esp + 0xc8], 0xffffffff
call fcn.0041500f
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.00419730
mov esp, ebp
pop ebp
ret