Function at 0x445cff
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0x54
mov eax, 0x4a24cd
call fcn.0048d8e5
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.0046df20
push eax
lea ecx, [ebp - 0x18]
call fcn.0046e14b
mov dword [ebp - 4], edi
call fcn.0046df20
push eax
lea ecx, [ebp - 0x14]
call fcn.0046e14b
push 0xffffffffffffffff
push edi
lea ecx, [esi + 4]
mov byte [ebp - 4], 1
call fcn.00470b29
push dword [ebp + 8]
lea ecx, [esi + 0x5c]
call fcn.0040189c
lea ecx, [ebp - 0x38]
call fcn.0046f568
mov byte [ebp - 4], 3
call fcn.00471d19
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 0x445dd2
push ebx
push edi
call dword [sym.imp.KERNEL32.DLL_LoadResource]
cmp eax, edi
je 0x445dd2
push eax
call dword [sym.imp.KERNEL32.DLL_LockResource]
cmp eax, edi
mov dword [ebp + 8], eax
je 0x445dd2
call fcn.00471d19
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.0043cdcd
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.0040189c
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040174a
jmp 0x445dd2
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 0x445df9
jl 0x445dec
xor eax, eax
cmp eax, ecx
jae 0x445df9
cmp edx, edi
jg 0x445e09
jl 0x445df9
xor eax, eax
cmp eax, 0xa
ja 0x445e09
lea ecx, [ebp - 0x14]
call fcn.004609f5
cmp eax, edi
jne 0x445f07
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.00406b61
mov ebx, eax
cmp ebx, edi
jle 0x445e88
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.0040189c
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.0040189c
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.0040174a
jmp 0x445e94
jne 0x445e9e
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x24], edi
lea edi, [ebp - 0x14]
call fcn.00403e6f
jmp 0x445ec0
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040189c
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.00401954
lea edi, [ebp - 0x18]
call fcn.00403e6f
mov ebx, edi
call fcn.00403e21
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
jle 0x445dd0
mov eax, edi
push 0x4bae00
push eax
call fcn.0046050f
test eax, eax
pop ecx
pop ecx
jne 0x445dd0
lea ecx, [esi + 4]
mov eax, dword [ecx + 8]
mov edx, edi
push edx
push eax
call fcn.00470e95
jmp 0x445dd0
mov dword [ebp - 4], 1
call fcn.0046f57e
call fcn.0046df20
push eax
lea ecx, [ebp + 8]
call fcn.0046e14b
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.0047b5f0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.0047b5f0
mov byte [ebp - 4], 0xa
cmp dword [esi + 0xc], edi
jle 0x44603d
lea ebx, [esi + 0x18]
push edi
lea ecx, [esi + 4]
call fcn.0048399f
push eax
lea ecx, [ebp + 8]
call fcn.0040189c
push 0
push edi
mov ecx, ebx
call fcn.00471f01
lea eax, [ebp + 8]
push 0x4bae04
push eax
call fcn.0046050f
test eax, eax
pop ecx
pop ecx
je 0x445f8a
push edi
push dword [ebp - 0x44]
lea ecx, [ebp - 0x4c]
call fcn.00471f01
jmp 0x446033
lea eax, [ebp + 8]
push str.else
push eax
call fcn.0046050f
test eax, eax
pop ecx
pop ecx
je 0x445fd5
mov eax, dword [ebp - 0x44]
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.00433a4b
push eax
push edi
mov ecx, ebx
mov dword [ebp - 0x1c], eax
call fcn.00471f01
lea eax, [edi + 1]
push eax
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00471f01
mov eax, dword [ebp - 0x44]
push edi
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.004477c5
jmp 0x446033
lea eax, [ebp + 8]
push str.endif
push eax
call fcn.0046050f
test eax, eax
pop ecx
pop ecx
jne 0x445ffd
lea eax, [ebp + 8]
push str.end_if
push eax
call fcn.0046050f
test eax, eax
pop ecx
pop ecx
je 0x446033
mov eax, dword [ebp - 0x44]
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.00433a4b
push eax
push edi
mov ecx, ebx
mov dword [ebp - 0x1c], eax
call fcn.00471f01
lea eax, [edi + 1]
push eax
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00471f01
mov eax, dword [ebp - 0x44]
push 1
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.00471fd5
inc edi
cmp edi, dword [esi + 0xc]
jl 0x445f49
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.0047b607
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.0047b607
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 0x4460af
call fcn.0048d98a
ret 4