Function at 0x40237f
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
push edi
mov edx, 0x11
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x402386
mov edx, dword [esp + 0x50]
lea ecx, [esp]
call fcn.00403000
mov edx, 0x41f00d
lea ecx, [esp + 4]
call fcn.00403008
mov dword [esp + 8], 0
call sub.KERNEL32.dll_IsDebuggerPresent
mov ebx, eax
cmp ebx, 1
jne 0x4023c6
jmp 0x40145e
push dword [esp]
call sub.KERNEL32.dll_LoadLibraryA
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0
je 0x40274f
push 0xa
push 2
push dword [esp + 0x14]
call sub.KERNEL32.dll_FindResourceA
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
je 0x402746
push dword [esp + 0x10]
push dword [esp + 0x10]
call sub.KERNEL32.dll_LoadResource
mov dword [esp + 0x14], eax
push dword [esp + 0x10]
push dword [esp + 0x10]
call sub.KERNEL32.dll_SizeofResource
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], 0
je 0x402437
mov ebx, dword [esp + 0x18]
and ebx, ebx
jle 0x402437
mov eax, 1
jmp 0x402439
xor eax, eax
and eax, eax
je 0x402746
push dword [esp + 0x14]
call sub.KERNEL32.dll_LockResource
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0
je 0x402746
push dword [esp + 0x18]
call fcn.0040e2a0
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
je 0x402746
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x24]
call fcn.0040e2c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x24]
add ebx, 0xfffffffc
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x24]
mov eax, ebx
call fcn.0040e2f0
mov dword [esp + 0x28], eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x24]
call fcn.0041332f
mov ebx, eax
cmp ebx, dword [esp + 0x28]
jne 0x40273d
mov ebx, dword [esp + 0x24]
add ebx, 0xfffffffe
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x24]
push ebx
call fcn.0040e370
mov word [esp + 0x2c], ax
movzx ebx, word [esp + 0x2c]
not ebx
mov eax, ebx
mov word [esp + 0x2c], ax
movzx ebx, word [esp + 0x2c]
cmp ebx, dword [esp + 0x24]
jge 0x402516
movzx ebx, word [esp + 0x2c]
cmp ebx, 0x64
jl 0x402516
movzx ebx, word [esp + 0x2c]
cmp ebx, 0x2774
jg 0x402516
mov eax, 1
jmp 0x402518
xor eax, eax
and eax, eax
je 0x40273d
movzx ebx, word [esp + 0x2c]
add ebx, 2
push ebx
call fcn.0040e2a0
mov dword [esp + 0x30], eax
cmp dword [esp + 0x30], 0
je 0x40273d
mov ebx, dword [esp + 0x24]
movzx eax, word [esp + 0x2c]
sub ebx, eax
mov dword [esp + 0x24], ebx
movzx eax, word [esp + 0x2c]
push eax
push dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0x2c]
push ebx
call fcn.0040e2c0
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
xor eax, eax
cmp eax, dword [esp + 0x38]
jg 0x4025eb
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x38]
push ebx
call fcn.0040e380
mov ebx, eax
not ebx
push ebx
mov ebx, dword [esp + 0x24]
add ebx, dword [esp + 0x3c]
push ebx
call fcn.0040e390
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x38]
push ebx
call fcn.0040e380
mov ebx, eax
mov edi, dword [esp + 0x30]
add edi, dword [esp + 0x34]
push edi
call fcn.0040e380
xor ebx, eax
push ebx
mov ebx, dword [esp + 0x24]
add ebx, dword [esp + 0x3c]
push ebx
call fcn.0040e390
inc dword [esp + 0x34]
mov ebx, dword [esp + 0x34]
movzx eax, word [esp + 0x2c]
cmp ebx, eax
jl 0x4025e5
mov dword [esp + 0x34], 0
dec dword [esp + 0x38]
jno 0x402574
dec dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x24]
push ebx
call fcn.0040e380
mov ebx, eax
cmp ebx, 2
jne 0x40261b
push dword [0x421328]
call fcn.00401e9c
lea eax, [esp + 8]
push eax
call fcn.00416c30
jmp 0x402629
mov edx, 0x41f00d
lea ecx, [esp + 4]
call fcn.00403008
mov ebx, dword [esp + 0x24]
add ebx, 0xfffffffc
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x24]
mov eax, ebx
call fcn.0040e2f0
mov dword [esp + 0x28], eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x24]
call fcn.0041332f
mov ebx, eax
cmp ebx, dword [esp + 0x28]
jne 0x402734
mov ebx, dword [esp + 0x24]
add ebx, 2
push ebx
call fcn.0040e2a0
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], 0
je 0x402734
mov ebx, dword [esp + 0x24]
dec ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x38]
jl 0x4026be
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x40]
push ebx
call fcn.0040e380
push eax
mov ebx, dword [esp + 0x40]
add ebx, dword [esp + 0x3c]
push ebx
call fcn.0040e390
dec dword [esp + 0x40]
inc dword [esp + 0x38]
jno 0x40268d
mov ebx, dword [esp + 0x24]
add ebx, 0xfffffffc
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x24]
mov eax, ebx
call fcn.0040e2f0
mov dword [esp + 0x28], eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x40]
call fcn.0041332f
mov ebx, eax
cmp ebx, dword [esp + 0x28]
jne 0x402734
push dword [0x421328]
call fcn.004014a6
push 0x420efc
call fcn.00416c30
push dword [0x420efc]
mov edx, 0x41f00d
pop ecx
call fcn.00416d10
jne 0x402734
push dword [0x420efc]
push dword [esp + 8]
push dword [esp + 0x2c]
push dword [esp + 0x48]
call fcn.00401b59
mov dword [esp + 8], eax
push dword [esp + 0x30]
call fcn.0040e300
push dword [esp + 0x20]
call fcn.0040e300
push dword [esp + 0xc]
call sub.KERNEL32.dll_FreeLibrary
mov eax, dword [esp + 8]
jmp 0x402757
push dword [esp]
call fcn.00416d40
push dword [esp + 4]
call fcn.00416d40
add esp, 0x44
pop edi
pop ebx
ret 4