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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xfc
mov edi, dword [esp + 0x110]
mov edx, edi
and edx, 0xfff
mov ebp, edi
shr ebp, 0xc
mov eax, edi
mov dword [esp + 0x10], edx
mov edx, dword [0x5357b0]
shr eax, 0x18
and ebp, 0xfff
test edx, edx
mov dword [esp + 0x14], eax
je 0x45c6a0
mov esi, edi
and esi, 0xff000000
mov dword [esp + 0x28], esi
sub esp, 0xc
lea ebx, [esp + 0x34]
push ebx
call dword [edx + 8]
add esp, 0x10
test eax, eax
mov dword [esp + 0xc], 0
je 0x45c4fc
mov edx, dword [eax + 4]
mov dword [esp + 0xc], edx
mov edx, dword [0x5357b0]
test edx, edx
je 0x45c650
mov ebx, edi
and ebx, 0xfffff000
mov dword [esp + 0x20], ebx
sub esp, 0xc
lea ecx, [esp + 0x2c]
push ecx
call dword [edx + 8]
add esp, 0x10
test eax, eax
mov dword [esp + 8], 0
je 0x45c537
mov esi, dword [eax + 4]
mov dword [esp + 8], esi
mov edx, dword [0x5357b0]
test edx, edx
je 0x45c600
mov eax, edi
and eax, 0xff000fff
mov dword [esp + 0x18], eax
sub esp, 0xc
lea ebx, [esp + 0x24]
push ebx
call dword [edx + 8]
mov esi, edi
and esi, 0xfff
add esp, 0x10
test eax, eax
je 0x45c74e
mov ebx, dword [eax + 4]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x45c7cc
mov eax, dword [esp + 8]
test eax, eax
je 0x45c7ed
test ebx, ebx
je 0x45c807
test ebx, ebx
mov eax, ebx
push edx
je 0x45c780
push eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x45c7a0
push eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x45c7c0
push eax
push edi
push str.error:_08lX:_s:_s:_s
mov eax, dword [esp + 0x130]
push eax
mov edx, dword [esp + 0x130]
push edx
call fcn.00471c50
add esp, 0x14
mov ebx, dword [esp + 0x120]
push ebx
call sub.msvcrt.dll_strlen
add esp, 0x10
mov edi, dword [esp + 0x118]
dec edi
cmp eax, edi
je 0x45c6f0
add esp, 0xfc
pop ebx
pop esi
pop edi
pop ebp
ret
push 0x11f
push str..cryptoerrerr.c
push 1
push 9
call fcn.0046efd0
mov edx, dword [0x5357b0]
add esp, 0x10
test edx, edx
jne 0x45c62a
mov dword [0x5357b0], 0x512b70
push 0x122
push str..cryptoerrerr.c
push 1
push 0xa
call fcn.0046efd0
add esp, 0x10
mov edx, dword [0x5357b0]
jmp 0x45c545
push 0x11f
push str..cryptoerrerr.c
push 1
push 9
call fcn.0046efd0
mov eax, dword [0x5357b0]
add esp, 0x10
test eax, eax
jne 0x45c679
mov dword [0x5357b0], 0x512b70
push 0x122
push str..cryptoerrerr.c
push 1
push 0xa
call fcn.0046efd0
add esp, 0x10
mov edx, dword [0x5357b0]
jmp 0x45c50a
push 0x11f
push str..cryptoerrerr.c
push 1
push 9
call fcn.0046efd0
mov ecx, dword [0x5357b0]
add esp, 0x10
test ecx, ecx
jne 0x45c6ca
mov dword [0x5357b0], 0x512b70
push 0x122
push str..cryptoerrerr.c
push 1
push 0xa
call fcn.0046efd0
add esp, 0x10
mov edx, dword [0x5357b0]
jmp 0x45c4cf
cmp dword [esp + 0x118], 4
jbe 0x45c5f5
mov eax, dword [esp + 0x114]
mov ebp, dword [esp + 0x118]
lea ebx, [eax + ebp]
lea esi, [ebx - 5]
mov edi, 3
mov esi, esi
lea edi, [edi]
sub esp, 8
push 0x3a
push eax
call sub.msvcrt.dll_strchr
add esp, 0x10
test eax, eax
je 0x45c736
cmp esi, eax
jae 0x45c73d
lea eax, [ebx - 5]
mov byte [ebx - 5], 0x3a
inc eax
inc esi
inc ebx
dec edi
jns 0x45c720
add esp, 0xfc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x18], esi
sub esp, 0xc
push ebx
mov ebx, dword [0x5357b0]
call dword [ebx + 8]
add esp, 0x10
xor ebx, ebx
test eax, eax
jne 0x45c56e
jmp 0x45c571
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x45c5a9
jmp 0x45c7a0
lea eax, [esp + 0x78]
push eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x45c5b6
jmp 0x45c7c0
lea eax, [esp + 0xbc]
jmp 0x45c5b6
mov edx, dword [esp + 0x14]
push edx
push str.lib__lu_
push 0x40
lea esi, [esp + 0xbc]
push esi
call fcn.00471c50
add esp, 0x10
jmp 0x45c57d
push ebp
push str.func__lu_
push 0x40
lea ebp, [esp + 0x7c]
push ebp
call fcn.00471c50
add esp, 0x10
jmp 0x45c589
mov esi, dword [esp + 0x10]
push esi
push str.reason__lu_
push 0x40
lea ecx, [esp + 0x3c]
push ecx
call fcn.00471c50
add esp, 0x10
jmp 0x45c591