Function at 0x4837b0
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 0x483af0
mov ebx, dword [esp + 0x80]
test ebx, ebx
jne 0x4837e6
mov dword [esp + 0x80], 0x2806
cmp ebp, 0x1001
je 0x483860
jg 0x483830
cmp ebp, 0x1000
je 0x483c95
sub esp, 0xc
push 0x8e
push str..crypto_asn1_a_mbstr.c
push 0xa0
push 0x7a
push 0xd
call fcn.0045dc30
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 0x483c7c
cmp ebp, 0x1004
jne 0x4837fc
test edi, 3
jne 0x483eef
mov eax, edi
sar eax, 2
mov dword [esp + 0x2c], eax
jmp 0x483864
mov dword [esp + 0x2c], edi
mov esi, dword [esp + 0x84]
test esi, esi
jle 0x483880
mov ebx, dword [esp + 0x84]
cmp dword [esp + 0x2c], ebx
jl 0x483e34
mov eax, dword [esp + 0x88]
test eax, eax
jle 0x48389c
mov edx, dword [esp + 0x88]
cmp dword [esp + 0x2c], edx
jg 0x483e88
mov ebx, dword [esp + 0x74]
mov esi, edi
test edi, edi
jmp 0x483922
cmp ebp, 0x1001
je 0x483a90
cmp ebp, 0x1002
je 0x483ad0
cmp ebp, 0x1004
jne 0x483aa0
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.00484020
add esp, 0x10
test eax, eax
jle 0x483d0b
test esi, esi
jne 0x4838b0
mov eax, dword [esp + 0x80]
test al, 2
mov esi, 0x1001
mov dword [esp + 0x10], 0x13
jne 0x483950
test al, 0x10
mov dword [esp + 0x10], 0x16
je 0x483b0a
lea esi, [esi]
mov ebx, dword [esp + 0x70]
test ebx, ebx
mov edx, dword [esp + 0x10]
je 0x48381f
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx]
test eax, eax
je 0x483c3d
mov ebx, eax
mov eax, dword [eax + 8]
test eax, eax
mov byte [esp + 0xf], 0
jne 0x483ced
mov eax, dword [esp + 0x10]
mov dword [ebx + 4], eax
cmp ebp, esi
je 0x483d25
cmp esi, 0x1001
je 0x483c67
jle 0x483b3e
cmp esi, 0x1002
je 0x483d9f
cmp esi, 0x1004
je 0x483dd5
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.00458b20
mov dword [esp + 0x28], eax
add esp, 0x10
test eax, eax
je 0x483dff
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 0x483a80
cmp ebp, 0x1001
je 0x483be0
cmp ebp, 0x1002
je 0x483c20
cmp ebp, 0x1004
jne 0x483bf0
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 0x483a00
sub esp, 8
push edi
mov edx, dword [esp + 0x20]
push edx
call dword [esp + 0x18]
add esp, 0x10
test eax, eax
jg 0x483a00
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 0x483900
push eax
lea eax, [esp + 0x28]
push eax
push esi
push ebx
call fcn.004866c0
add esp, 0x10
test eax, eax
js 0x483d11
sub esi, eax
add ebx, eax
jmp 0x483900
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 0x483900
sub esp, 0xc
mov esi, dword [esp + 0x80]
push esi
call sub.msvcrt.dll_strlen
mov edi, eax
add esp, 0x10
jmp 0x4837d0
test al, 4
mov dword [esp + 0x10], 0x14
jne 0x483950
test ah, 8
jne 0x483d55
test ah, 1
je 0x483ded
mov esi, 0x1004
mov dword [esp + 0x10], 0x1c
jmp 0x483950
cmp esi, 0x1000
jne 0x4839c0
mov esi, dword [esp + 0x74]
test edi, edi
mov dword [esp + 0x20], 0
mov dword [esp + 4], edi
jmp 0x483bcf
cmp ebp, 0x1001
je 0x483d66
cmp ebp, 0x1002
je 0x483db6
cmp ebp, 0x1004
jne 0x483d78
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.00483f50
add esp, 0x10
test eax, eax
jle 0x483bd1
mov edx, dword [esp + 4]
test edx, edx
jne 0x483b5e
mov dword [esp + 8], 0x483ff0
jmp 0x4839c0
xor eax, eax
mov al, byte [ebx]
dec esi
inc ebx
mov dword [esp + 0x14], eax
jmp 0x483a60
push ecx
lea eax, [esp + 0x18]
push eax
push esi
push ebx
call fcn.004866c0
add esp, 0x10
test eax, eax
js 0x483a80
sub esi, eax
add ebx, eax
jmp 0x483a60
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 0x483a60
mov byte [esp + 0xf], 1
sub esp, 0xc
mov edx, dword [esp + 0x1c]
push edx
call fcn.0045a350
add esp, 0x10
test eax, eax
mov ebx, eax
je 0x483f03
mov ecx, dword [esp + 0x70]
mov dword [ecx], eax
jmp 0x483987
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x20], esi
mov dword [esp + 8], 0x483f80
jmp 0x4839c0
test edi, 1
jne 0x483edb
mov eax, edi
sar eax, 1
mov dword [esp + 0x2c], eax
jmp 0x483864
test edi, edi
mov dword [esp + 0x2c], 0
mov esi, dword [esp + 0x74]
mov ebx, edi
je 0x483864
push ecx
lea eax, [esp + 0x2c]
push eax
push ebx
push esi
call fcn.004866c0
add esp, 0x10
test eax, eax
js 0x483e1d
sub esp, 8
lea ecx, [esp + 0x34]
push ecx
mov edx, dword [esp + 0x34]
push edx
sub ebx, eax
add esi, eax
call fcn.00483f40
add esp, 0x10
test eax, eax
jle 0x483e17
test ebx, ebx
jne 0x483cab
jmp 0x483864
sub esp, 0xc
mov dword [ebx], 0
push eax
call fcn.00458e30
add esp, 0x10
mov dword [ebx + 8], 0
jmp 0x483980
jge 0x483924
sub esp, 0xc
push 0xa2
push str..crypto_asn1_a_mbstr.c
push 0x7c
jmp 0x48380e
push eax
push edi
mov edi, dword [esp + 0x7c]
push edi
push ebx
call fcn.0045a3c0
add esp, 0x10
test eax, eax
mov edx, dword [esp + 0x10]
jne 0x48381f
sub esp, 0xc
push 0xcd
push str..crypto_asn1_a_mbstr.c
push 0x41
jmp 0x48380e
mov si, 0x1002
mov dword [esp + 0x10], 0x1e
jmp 0x483950
xor ecx, ecx
mov cl, byte [esi]
inc esi
dec dword [esp + 4]
mov dword [esp + 0x1c], ecx
jmp 0x483bb0
push eax
lea edx, [esp + 0x20]
push edx
mov eax, dword [esp + 0xc]
push eax
push esi
call fcn.004866c0
add esp, 0x10
test eax, eax
js 0x483bd1
sub dword [esp + 4], eax
add esi, eax
jmp 0x483bb0
mov eax, dword [esp + 0x2c]
add eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 8], 0x483fa0
jmp 0x4839c0
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 0x483bb0
mov edx, dword [esp + 0x2c]
shl edx, 2
mov dword [esp + 0x20], edx
mov dword [esp + 8], 0x483fc0
jmp 0x4839c0
mov esi, 0x1000
mov dword [esp + 0x10], 0xc
jmp 0x483950
cmp byte [esp + 0xf], 0
jne 0x483eca
sub esp, 0xc
push 0xec
jmp 0x483d49
jge 0x483864
sub esp, 0xc
push 0x84
push str..crypto_asn1_a_mbstr.c
push 0x86
jmp 0x48380e
sub esp, 0xc
push 0x93
push str..crypto_asn1_a_mbstr.c
push 0x98
push 0x7a
push 0xd
call fcn.0045dc30
add esp, 0x20
mov ebp, dword [esp + 0x84]
push ebp
push 0x520b88
push 0x20
lea edi, [esp + 0x3c]
push edi
call fcn.004727a0
add esp, 0xc
push edi
push str.minsize
push 2
call fcn.0045de40
mov edx, 0xffffffff
add esp, 0x10
jmp 0x48381f
sub esp, 0xc
push 0x9a
push str..crypto_asn1_a_mbstr.c
push 0x97
push 0x7a
push 0xd
call fcn.0045dc30
add esp, 0x20
mov ecx, dword [esp + 0x88]
push ecx
push 0x520b88
push 0x20
lea esi, [esp + 0x3c]
push esi
call fcn.004727a0
add esp, 0xc
push esi
push str.maxsize
jmp 0x483e74
sub esp, 0xc
push ebx
call fcn.0045a510
add esp, 0x10
jmp 0x483e0a
sub esp, 0xc
push 0x6f
push str..crypto_asn1_a_mbstr.c
push 0x81
jmp 0x48380e
sub esp, 0xc
push 0x78
push str..crypto_asn1_a_mbstr.c
push 0x85
jmp 0x48380e
sub esp, 0xc
push 0xc5
jmp 0x483d49