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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov edi, dword [esp + 0x78]
cmp edi, 0xffffffff
mov ebp, dword [esp + 0x7c]
mov dword [esp + 8], 0
je 0x483d10
mov ebx, dword [esp + 0x80]
test ebx, ebx
jne 0x483a06
mov dword [esp + 0x80], 0x2806
cmp ebp, 0x1001
je 0x483a80
jg 0x483a50
cmp ebp, 0x1000
je 0x483eb5
sub esp, 0xc
push 0x8e
push str..crypto_asn1_a_mbstr.c
push 0xa0
push 0x7a
push 0xd
call fcn.0045de50
mov edx, 0xffffffff
add esp, 0x20
add esp, 0x5c
pop ebx
pop esi
pop edi
mov eax, edx
pop ebp
ret
cmp ebp, 0x1002
je 0x483e9c
cmp ebp, 0x1004
jne 0x483a1c
test edi, 3
jne 0x48410f
mov eax, edi
sar eax, 2
mov dword [esp + 0x2c], eax
jmp 0x483a84
mov dword [esp + 0x2c], edi
mov esi, dword [esp + 0x84]
test esi, esi
jle 0x483aa0
mov ebx, dword [esp + 0x84]
cmp dword [esp + 0x2c], ebx
jl 0x484054
mov eax, dword [esp + 0x88]
test eax, eax
jle 0x483abc
mov edx, dword [esp + 0x88]
cmp dword [esp + 0x2c], edx
jg 0x4840a8
mov ebx, dword [esp + 0x74]
mov esi, edi
test edi, edi
jmp 0x483b42
cmp ebp, 0x1001
je 0x483cb0
cmp ebp, 0x1002
je 0x483cf0
cmp ebp, 0x1004
jne 0x483cc0
xor edx, edx
xor ecx, ecx
mov dl, byte [ebx]
mov cl, byte [ebx + 1]
xor eax, eax
mov al, byte [ebx + 2]
shl edx, 0x18
shl ecx, 0x10
or ecx, edx
shl eax, 8
xor edx, edx
mov dl, byte [ebx + 3]
or eax, ecx
or edx, eax
add ebx, 4
mov dword [esp + 0x24], edx
sub esi, 4
sub esp, 8
lea edx, [esp + 0x88]
push edx
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00484240
add esp, 0x10
test eax, eax
jle 0x483f2b
test esi, esi
jne 0x483ad0
mov eax, dword [esp + 0x80]
test al, 2
mov esi, 0x1001
mov dword [esp + 0x10], 0x13
jne 0x483b70
test al, 0x10
mov dword [esp + 0x10], 0x16
je 0x483d2a
lea esi, [esi]
mov ebx, dword [esp + 0x70]
test ebx, ebx
mov edx, dword [esp + 0x10]
je 0x483a3f
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx]
test eax, eax
je 0x483e5d
mov ebx, eax
mov eax, dword [eax + 8]
test eax, eax
mov byte [esp + 0xf], 0
jne 0x483f0d
mov eax, dword [esp + 0x10]
mov dword [ebx + 4], eax
cmp ebp, esi
je 0x483f45
cmp esi, 0x1001
je 0x483e87
jle 0x483d5e
cmp esi, 0x1002
je 0x483fbf
cmp esi, 0x1004
je 0x483ff5
lea esi, [esi]
push esi
push 0xea
push str..crypto_asn1_a_mbstr.c
mov esi, dword [esp + 0x2c]
inc esi
push esi
call fcn.00458d40
mov dword [esp + 0x28], eax
add esp, 0x10
test eax, eax
je 0x48401f
mov ecx, dword [esp + 0x20]
mov dword [ebx], ecx
mov dword [ebx + 8], eax
mov byte [ecx + eax], 0
mov esi, edi
mov ebx, dword [esp + 0x74]
lea edi, [esp + 0x18]
lea esi, [esi]
test esi, esi
je 0x483ca0
cmp ebp, 0x1001
je 0x483e00
cmp ebp, 0x1002
je 0x483e40
cmp ebp, 0x1004
jne 0x483e10
xor edx, edx
xor ecx, ecx
mov dl, byte [ebx]
mov cl, byte [ebx + 1]
xor eax, eax
mov al, byte [ebx + 2]
shl edx, 0x18
shl ecx, 0x10
or ecx, edx
shl eax, 8
xor edx, edx
mov dl, byte [ebx + 3]
or eax, ecx
or edx, eax
add ebx, 4
mov dword [esp + 0x14], edx
sub esi, 4
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x483c20
sub esp, 8
push edi
mov edx, dword [esp + 0x20]
push edx
call dword [esp + 0x18]
add esp, 0x10
test eax, eax
jg 0x483c20
lea esi, [esi]
mov edx, dword [esp + 0x10]
add esp, 0x5c
pop ebx
pop esi
pop edi
mov eax, edx
pop ebp
ret
xor eax, eax
mov al, byte [ebx]
dec esi
inc ebx
mov dword [esp + 0x24], eax
jmp 0x483b20
push eax
lea eax, [esp + 0x28]
push eax
push esi
push ebx
call fcn.004868e0
add esp, 0x10
test eax, eax
js 0x483f31
sub esi, eax
add ebx, eax
jmp 0x483b20
xor ecx, ecx
mov cl, byte [ebx]
xor edx, edx
mov dl, byte [ebx + 1]
shl ecx, 8
or edx, ecx
add ebx, 2
sub esi, 2
mov dword [esp + 0x24], edx
jmp 0x483b20
sub esp, 0xc
mov esi, dword [esp + 0x80]
push esi
call sub.msvcrt.dll_strlen
mov edi, eax
add esp, 0x10
jmp 0x4839f0
test al, 4
mov dword [esp + 0x10], 0x14
jne 0x483b70
test ah, 8
jne 0x483f75
test ah, 1
je 0x48400d
mov esi, 0x1004
mov dword [esp + 0x10], 0x1c
jmp 0x483b70
cmp esi, 0x1000
jne 0x483be0
mov esi, dword [esp + 0x74]
test edi, edi
mov dword [esp + 0x20], 0
mov dword [esp + 4], edi
jmp 0x483def
cmp ebp, 0x1001
je 0x483f86
cmp ebp, 0x1002
je 0x483fd6
cmp ebp, 0x1004
jne 0x483f98
xor ecx, ecx
xor edx, edx
mov cl, byte [esi]
mov dl, byte [esi + 1]
xor eax, eax
mov al, byte [esi + 2]
shl ecx, 0x18
shl edx, 0x10
or edx, ecx
shl eax, 8
xor ecx, ecx
mov cl, byte [esi + 3]
or eax, edx
or ecx, eax
add esi, 4
mov dword [esp + 0x1c], ecx
sub dword [esp + 4], 4
sub esp, 8
lea eax, [esp + 0x28]
push eax
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00484170
add esp, 0x10
test eax, eax
jle 0x483df1
mov edx, dword [esp + 4]
test edx, edx
jne 0x483d7e
mov dword [esp + 8], 0x484210
jmp 0x483be0
xor eax, eax
mov al, byte [ebx]
dec esi
inc ebx
mov dword [esp + 0x14], eax
jmp 0x483c80
push ecx
lea eax, [esp + 0x18]
push eax
push esi
push ebx
call fcn.004868e0
add esp, 0x10
test eax, eax
js 0x483ca0
sub esi, eax
add ebx, eax
jmp 0x483c80
xor ecx, ecx
mov cl, byte [ebx]
xor edx, edx
mov dl, byte [ebx + 1]
shl ecx, 8
or edx, ecx
add ebx, 2
sub esi, 2
mov dword [esp + 0x14], edx
jmp 0x483c80
mov byte [esp + 0xf], 1
sub esp, 0xc
mov edx, dword [esp + 0x1c]
push edx
call fcn.0045a570
add esp, 0x10
test eax, eax
mov ebx, eax
je 0x484123
mov ecx, dword [esp + 0x70]
mov dword [ecx], eax
jmp 0x483ba7
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x20], esi
mov dword [esp + 8], 0x4841a0
jmp 0x483be0
test edi, 1
jne 0x4840fb
mov eax, edi
sar eax, 1
mov dword [esp + 0x2c], eax
jmp 0x483a84
test edi, edi
mov dword [esp + 0x2c], 0
mov esi, dword [esp + 0x74]
mov ebx, edi
je 0x483a84
push ecx
lea eax, [esp + 0x2c]
push eax
push ebx
push esi
call fcn.004868e0
add esp, 0x10
test eax, eax
js 0x48403d
sub esp, 8
lea ecx, [esp + 0x34]
push ecx
mov edx, dword [esp + 0x34]
push edx
sub ebx, eax
add esi, eax
call fcn.00484160
add esp, 0x10
test eax, eax
jle 0x484037
test ebx, ebx
jne 0x483ecb
jmp 0x483a84
sub esp, 0xc
mov dword [ebx], 0
push eax
call fcn.00459050
add esp, 0x10
mov dword [ebx + 8], 0
jmp 0x483ba0
jge 0x483b44
sub esp, 0xc
push 0xa2
push str..crypto_asn1_a_mbstr.c
push 0x7c
jmp 0x483a2e
push eax
push edi
mov edi, dword [esp + 0x7c]
push edi
push ebx
call fcn.0045a5e0
add esp, 0x10
test eax, eax
mov edx, dword [esp + 0x10]
jne 0x483a3f
sub esp, 0xc
push 0xcd
push str..crypto_asn1_a_mbstr.c
push 0x41
jmp 0x483a2e
mov si, 0x1002
mov dword [esp + 0x10], 0x1e
jmp 0x483b70
xor ecx, ecx
mov cl, byte [esi]
inc esi
dec dword [esp + 4]
mov dword [esp + 0x1c], ecx
jmp 0x483dd0
push eax
lea edx, [esp + 0x20]
push edx
mov eax, dword [esp + 0xc]
push eax
push esi
call fcn.004868e0
add esp, 0x10
test eax, eax
js 0x483df1
sub dword [esp + 4], eax
add esi, eax
jmp 0x483dd0
mov eax, dword [esp + 0x2c]
add eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 8], 0x4841c0
jmp 0x483be0
xor eax, eax
mov al, byte [esi]
xor edx, edx
mov dl, byte [esi + 1]
shl eax, 8
or edx, eax
add esi, 2
sub dword [esp + 4], 2
mov dword [esp + 0x1c], edx
jmp 0x483dd0
mov edx, dword [esp + 0x2c]
shl edx, 2
mov dword [esp + 0x20], edx
mov dword [esp + 8], 0x4841e0
jmp 0x483be0
mov esi, 0x1000
mov dword [esp + 0x10], 0xc
jmp 0x483b70
cmp byte [esp + 0xf], 0
jne 0x4840ea
sub esp, 0xc
push 0xec
jmp 0x483f69
jge 0x483a84
sub esp, 0xc
push 0x84
push str..crypto_asn1_a_mbstr.c
push 0x86
jmp 0x483a2e
sub esp, 0xc
push 0x93
push str..crypto_asn1_a_mbstr.c
push 0x98
push 0x7a
push 0xd
call fcn.0045de50
add esp, 0x20
mov ebp, dword [esp + 0x84]
push ebp
push 0x520bc8
push 0x20
lea edi, [esp + 0x3c]
push edi
call fcn.004729c0
add esp, 0xc
push edi
push str.minsize
push 2
call fcn.0045e060
mov edx, 0xffffffff
add esp, 0x10
jmp 0x483a3f
sub esp, 0xc
push 0x9a
push str..crypto_asn1_a_mbstr.c
push 0x97
push 0x7a
push 0xd
call fcn.0045de50
add esp, 0x20
mov ecx, dword [esp + 0x88]
push ecx
push 0x520bc8
push 0x20
lea esi, [esp + 0x3c]
push esi
call fcn.004729c0
add esp, 0xc
push esi
push str.maxsize
jmp 0x484094
sub esp, 0xc
push ebx
call fcn.0045a730
add esp, 0x10
jmp 0x48402a
sub esp, 0xc
push 0x6f
push str..crypto_asn1_a_mbstr.c
push 0x81
jmp 0x483a2e
sub esp, 0xc
push 0x78
push str..crypto_asn1_a_mbstr.c
push 0x85
jmp 0x483a2e
sub esp, 0xc
push 0xc5
jmp 0x483f69