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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x42b983
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x437dd4]
xor eax, esp
mov dword [esp + 0xa8], eax
push ebx
push esi
push edi
mov eax, dword [0x437dd4]
xor eax, esp
push eax
lea eax, [esp + 0xc0]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esi + 0x234]
mov dword [esp + 0x10], esi
call fcn.00401b30
push 2
push str.129
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
je 0x4052aa
push edi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x4052aa
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
test ebx, ebx
je 0x4052aa
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.00414aff
push 0
push ebx
push edi
lea ecx, [esp + 0x78]
mov dword [esp + 0xd4], 0
call fcn.00414b34
push 0
push 0x1000
push 1
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x24]
call fcn.004106a3
push 0x1335ca
mov byte [esp + 0xcc], 1
call fcn.00419f3b
add esp, 4
mov byte [esp + 0xb4], 0
xor edi, edi
call fcn.00419f4d
cdq
mov ecx, 0x3e
idiv ecx
cmp dl, 0x1a
jae 0x404f2e
add dl, 0x41
jmp 0x404f3f
cmp dl, 0x34
jae 0x404f38
add dl, 0x47
jmp 0x404f3f
cmp dl, cl
jae 0x404f46
sub dl, 4
mov byte [esp + edi + 0x94], dl
inc edi
cmp edi, 0x20
jl 0x404f17
test byte [esp + 0x2c], 1
jne 0x404f5f
mov edx, dword [esp + 0x28]
push edx
push 4
call fcn.004108d4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x404f85
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffe3
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
add eax, 4
test byte [esp + 0x2c], 1
mov dword [esp + 0x3c], eax
jne 0x404f9f
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108d4
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x404fbd
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffe3
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
add eax, 4
test byte [esp + 0x2c], 1
mov dword [esp + 0x3c], eax
jne 0x404fd7
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108d4
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x404ff5
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffe3
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 0x405015
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108d4
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x405033
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffe3
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 + 0x5c], edx
mov dword [esp + 0x3c], eax
jne 0x405053
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108d4
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x405071
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffe3
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 0x405091
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108d4
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x4050ab
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffe3
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
push edi
mov dword [esp + 0x40], eax
call fcn.00409997
add esp, 4
mov ebx, eax
push edi
push ebx
lea ecx, [esp + 0x1c]
call fcn.0040fe3a
lea eax, [esp + 0x94]
push eax
push ebx
mov eax, edi
call fcn.00408960
mov edi, eax
test edi, edi
je 0x4050f4
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4050e5
sub eax, edx
sar eax, 1
mov esi, dword [esp + 0x10]
push eax
push edi
lea ecx, [esi + 0x234]
call fcn.00401d30
push edi
call fcn.004099a2
push ebx
call fcn.004099a2
add esp, 8
test byte [esp + 0x2c], 1
jne 0x405127
mov ecx, dword [esp + 0x28]
push ecx
push 4
call fcn.004108d4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x405149
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffe3
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
push edi
mov dword [esp + 0x40], eax
call fcn.00409997
add esp, 4
mov ebx, eax
push edi
push ebx
lea ecx, [esp + 0x1c]
call fcn.0040fe3a
lea eax, [esp + 0x94]
push eax
push ebx
mov eax, edi
call fcn.00408960
mov edi, eax
lea ecx, [esi + 0x238]
test edi, edi
je 0x4051a1
mov eax, edi
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
lea ecx, [ecx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x405190
sub eax, dword [esp + 0x64]
sar eax, 1
push eax
push edi
call fcn.00401d30
push edi
call fcn.004099a2
push ebx
call fcn.004099a2
add esp, 8
test byte [esp + 0x2c], 1
jne 0x4051ca
mov eax, dword [esp + 0x28]
push eax
push 4
call fcn.004108d4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x4051ec
sub eax, ecx
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.0040ffe3
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
push edi
mov dword [esp + 0x40], eax
call fcn.00409997
add esp, 4
mov ebx, eax
push edi
push ebx
lea ecx, [esp + 0x1c]
call fcn.0040fe3a
lea eax, [esp + 0x94]
push eax
push ebx
mov eax, edi
call fcn.00408960
mov ecx, esi
mov edi, eax
add ecx, 0x23c
test edi, edi
je 0x40523f
mov eax, edi
lea esi, [eax + 2]
mov edi, edi
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x405230
sub eax, esi
sar eax, 1
push eax
push edi
call fcn.00401d30
push edi
call fcn.004099a2
push ebx
call fcn.004099a2
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
xor ecx, ecx
add esp, 8
cmp dword [esp + 0x68], ecx
mov dword [eax + 0x228], edx
sete cl
mov dword [eax + 0x224], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x22c], ecx
lea ecx, [esp + 0x14]
call fcn.004104ec
lea ecx, [esp + 0x14]
mov byte [esp + 0xc8], 0
call fcn.00410665
lea ecx, [esp + 0x6c]
mov dword [esp + 0xc8], 0xffffffff
call fcn.00414e83
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.004196ca
mov esp, ebp
pop ebp
ret