Function at 0x4405c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x1c], edi
test eax, eax
je 0x440616
test edx, edx
je 0x440616
test ebp, ebp
je 0x440616
test esi, esi
je 0x440616
test edi, edi
jle 0x440620
test ebx, ebx
jne 0x440620
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
call sub.msvcrt.dll_strlen
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
cmp ecx, 3
ja 0x4408a0
cmp dword [esp + 0x1c], 0xff
ja 0x4408b8
xor edi, edi
cmp dword [esp + 0x1c], 0
jle 0x4406e4
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x38], esi
mov esi, edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], eax
jmp 0x44069f
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00428ba0
test eax, eax
je 0x4406a6
add esi, 1
cmp ebp, esi
je 0x4406d0
mov edi, dword [ebx + esi*4]
test edi, edi
jne 0x440680
mov dword [esp + 0x68], 1
mov dword [esp + 0x64], str.Invalid_format_for_pCAL_parameter
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], eax
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0042ba70
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], ecx
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0x2c], edx
call fcn.0042d950
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
test eax, eax
mov dword [edx + 0xdc], eax
je 0x4408f2
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov dword [esp], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov dword [edx + 0xe0], eax
mov eax, dword [esp + 0x28]
or dword [edx + 0xf4], 0x80
mov dword [edx + 0xe4], eax
movzx eax, byte [esp + 0x1c]
mov byte [edx + 0xf0], cl
mov byte [edx + 0xf1], al
mov dword [esp], esi
mov dword [esp + 0x24], edx
call sub.msvcrt.dll_strlen
lea edi, [eax + 1]
mov eax, dword [esp + 0x20]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0042d950
mov edx, dword [esp + 0x24]
mov dword [edx + 0xe8], eax
test eax, eax
je 0x4408e8
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 0x24], edx
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x1c]
lea ebp, [eax*4 + 4]
mov eax, dword [esp + 0x20]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.0042d950
mov edx, dword [esp + 0x24]
mov esi, eax
mov dword [edx + 0xec], eax
test eax, eax
je 0x4408de
lea edi, [eax + 4]
mov dword [eax], 0
and edi, 0xfffffffc
mov dword [eax + ebp - 4], 0
sub eax, edi
lea ecx, [ebp + eax]
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x4408d2
mov edi, ebx
xor ebp, ebp
mov ebx, edx
jmp 0x440836
mov ecx, dword [edi + ebp*4]
mov dword [esp + 8], edx
add ebp, 1
mov dword [esp], eax
mov dword [esp + 4], ecx
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x1c], ebp
je 0x4408d0
mov esi, dword [ebx + 0xec]
lea eax, [ebp*4]
mov dword [esp + 0x24], eax
mov eax, dword [edi + ebp*4]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea edx, [eax + 1]
mov eax, dword [esp + 0x24]
mov dword [esp + 4], edx
add esi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov dword [esp], eax
call fcn.0042d950
mov edx, dword [esp + 0x24]
mov dword [esi], eax
mov eax, dword [ebx + 0xec]
mov eax, dword [eax + ebp*4]
test eax, eax
jne 0x440810
mov dword [esp + 0x64], str.Insufficient_memory_for_pCAL_parameter
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], eax
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0042b170
mov dword [esp + 0x68], 1
mov dword [esp + 0x64], str.Invalid_pCAL_equation_type
jmp 0x4406b6
mov dword [esp + 0x68], 1
mov dword [esp + 0x64], str.Invalid_pCAL_parameter_count
jmp 0x4406b6
mov edx, ebx
or dword [edx + 8], 0x400
jmp 0x440616
mov dword [esp + 0x64], str.Insufficient_memory_for_pCAL_params
jmp 0x440884
mov dword [esp + 0x64], str.Insufficient_memory_for_pCAL_units
jmp 0x440884
mov dword [esp + 0x68], 1
mov dword [esp + 0x64], str.Insufficient_memory_for_pCAL_purpose
jmp 0x4406b6