Function at 0x446077
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0x54
mov eax, 0x4a304b
call fcn.0048e205
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
call fcn.0046e7df
push eax
lea ecx, [ebp - 0x18]
call fcn.00401764
mov dword [ebp - 4], edi
call fcn.0046e7df
push eax
lea ecx, [ebp - 0x14]
call fcn.00401764
push 0xffffffffffffffff
push edi
lea ecx, [esi + 4]
mov byte [ebp - 4], 1
call fcn.0047142a
push dword [ebp + 8]
lea ecx, [esi + 0x5c]
call fcn.004018c1
lea ecx, [ebp - 0x38]
call fcn.0046fe4a
mov byte [ebp - 4], 3
call fcn.0047261a
mov eax, dword [eax + 0xc]
push 0x17
push 0x7b1
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov ebx, eax
cmp ebx, edi
je 0x44614a
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x44614a
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
cmp eax, edi
mov dword [ebp + 8], eax
je 0x44614a
call fcn.0047261a
mov eax, dword [eax + 0xc]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push dword [ebp + 8]
lea ecx, [ebp + 8]
call fcn.0043d135
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.004018c1
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040174a
jmp 0x44614a
xor edi, edi
push 0
xor ecx, ecx
pop edx
sub ecx, 2
mov eax, edx
sbb eax, edi
xor ebx, ebx
cmp ebx, eax
jg 0x446171
jl 0x446164
xor eax, eax
cmp eax, ecx
jae 0x446171
cmp edx, edi
jg 0x446181
jl 0x446171
xor eax, eax
cmp eax, 0xa
ja 0x446181
lea ecx, [ebp - 0x14]
call fcn.00461052
cmp eax, edi
jne 0x44627f
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
push edi
adc dword [ebp - 0x2c], eax
push 0xa
lea ecx, [ebp - 0x14]
call fcn.00406b8e
mov ebx, eax
cmp ebx, edi
jle 0x446200
push ebx
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.004013d0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.004018c1
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040174a
mov eax, dword [ebp - 0x18]
mov eax, dword [eax - 0xc]
inc eax
cdq
mov dword [ebp - 0x28], eax
push ebx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x24], edx
call fcn.004013ad
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.004018c1
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.0040174a
jmp 0x44620c
jne 0x446216
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x24], edi
lea edi, [ebp - 0x14]
call fcn.00403e99
jmp 0x446238
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
call fcn.004018c1
mov eax, dword [ebp - 0x18]
mov eax, dword [eax - 0xc]
inc eax
cdq
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
call fcn.00401979
lea edi, [ebp - 0x18]
call fcn.00403e99
mov ebx, edi
call fcn.00403e4b
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
jle 0x446148
mov eax, edi
push 0x4bae00
push eax
call fcn.00460b6c
test eax, eax
pop ecx
pop ecx
jne 0x446148
lea ecx, [esi + 4]
mov eax, dword [ecx + 8]
mov edx, edi
push edx
push eax
call fcn.00471796
jmp 0x446148
mov dword [ebp - 4], 1
call fcn.0046fe60
call fcn.0046e7df
push eax
lea ecx, [ebp + 8]
call fcn.00401764
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.0047bdfc
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.0047bdfc
mov byte [ebp - 4], 0xa
cmp dword [esi + 0xc], edi
jle 0x4463b5
lea ebx, [esi + 0x18]
push edi
lea ecx, [esi + 4]
call fcn.00406c2c
push eax
lea ecx, [ebp + 8]
call fcn.004018c1
push 0
push edi
mov ecx, ebx
call fcn.00472802
lea eax, [ebp + 8]
push 0x4bae04
push eax
call fcn.00460b6c
test eax, eax
pop ecx
pop ecx
je 0x446302
push edi
push dword [ebp - 0x44]
lea ecx, [ebp - 0x4c]
call fcn.00472802
jmp 0x4463ab
lea eax, [ebp + 8]
push str.else
push eax
call fcn.00460b6c
test eax, eax
pop ecx
pop ecx
je 0x44634d
mov eax, dword [ebp - 0x44]
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.00433db3
push eax
push edi
mov ecx, ebx
mov dword [ebp - 0x1c], eax
call fcn.00472802
lea eax, [edi + 1]
push eax
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00472802
mov eax, dword [ebp - 0x44]
push edi
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.00447bc2
jmp 0x4463ab
lea eax, [ebp + 8]
push str.endif
push eax
call fcn.00460b6c
test eax, eax
pop ecx
pop ecx
jne 0x446375
lea eax, [ebp + 8]
push str.end_if
push eax
call fcn.00460b6c
test eax, eax
pop ecx
pop ecx
je 0x4463ab
mov eax, dword [ebp - 0x44]
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.00433db3
push eax
push edi
mov ecx, ebx
mov dword [ebp - 0x1c], eax
call fcn.00472802
lea eax, [edi + 1]
push eax
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00472802
mov eax, dword [ebp - 0x44]
push 1
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.0047be23
inc edi
cmp edi, dword [esi + 0xc]
jl 0x4462c1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.0047be13
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.0047be13
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0040174a
xor eax, eax
inc eax
jmp 0x446427
call fcn.0048e2aa
ret 4