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

Disassembly:
mov eax, 0x3c
call fcn.0058b400
push ebx
mov ebx, dword [esp + 0x44]
push ebp
mov ebp, dword [esp + 0x50]
push esi
push edi
mov edi, dword [esp + 0x5c]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x48], eax
test ebx, ebx
je case.0x4a6b6c.3
test eax, eax
je 0x4a6b38
mov esi, dword [eax + 0x10]
mov dword [esp + 0x2c], esi
test esi, esi
jne 0x4a6b3e
xor esi, esi
mov dword [esp + 0x2c], esi
mov edx, dword [esp + 0x70]
inc edx
mov dword [esp + 0x70], edx
cmp edx, 0x1e
jle 0x4a6b60
push 0xa0
push str.crypto_asn1_tasn_dec.c
push 0xc9
jmp 0x4a7468
movsx ecx, byte [edi]
cmp ecx, 6
ja case.0x4a6b6c.3
jmp dword [ecx*4 + 0x4a7490]
mov eax, dword [edi + 8]
test eax, eax
je 0x4a6bba
cmp dword [esp + 0x60], 0xffffffff
jne 0x4a6ba6
cmp byte [esp + 0x68], 0
jne 0x4a6ba6
push edx
push dword [esp + 0x70]
push 0
push eax
push ebp
push dword [esp + 0x68]
push ebx
call fcn.004a74b0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
push 0xaf
push str.crypto_asn1_tasn_dec.c
push 0xaa
jmp 0x4a7468
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push edi
push ebp
push dword [esp + 0x6c]
push ebx
call fcn.004a61a0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
cmp dword [esp + 0x60], 0xffffffff
je 0x4a6bfc
push 0xbe
push str.crypto_asn1_tasn_dec.c
push 0xe6
jmp 0x4a7468
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
test esi, esi
je 0x4a6c7a
cmp byte [esi], 0
je 0x4a6c7a
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x14]
add eax, dword [esp + 0x38]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
test al, al
jns 0x4a6d1d
push 0x471
push str.crypto_asn1_tasn_dec.c
push 0x66
push 0x68
push 0xd
call fcn.00492d80
add esp, 0x14
test esi, esi
je 0x4a6c69
mov byte [esi], 0
push 0xc7
push str.crypto_asn1_tasn_dec.c
push 0x3a
jmp 0x4a7468
push ebp
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00490250
mov edx, dword [esp + 0x38]
add esp, 0x14
mov dword [esp + 0x1c], eax
test esi, esi
je 0x4a6d14
mov edi, dword [esp + 0x2c]
sub edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esi + 0x14], edi
mov edi, dword [esp + 0x5c]
mov dword [esi + 4], eax
mov dword [esi + 0x10], edx
mov dword [esi + 0xc], ecx
mov byte [esi], 1
test al, 0x81
jne 0x4a6c42
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x28]
cmp eax, ebp
jle 0x4a6c3e
push 0x469
push str.crypto_asn1_tasn_dec.c
push 0x9b
push 0x68
push 0xd
call fcn.00492d80
add esp, 0x14
mov byte [esi], 0
push 0xc7
push str.crypto_asn1_tasn_dec.c
push 0x3a
jmp 0x4a7468
mov ecx, dword [esp + 0x20]
jmp 0x4a6c42
test dl, dl
je 0x4a6d40
cmp byte [esp + 0x68], 0
jne 0x4a6f0b
push 0xd0
push str.crypto_asn1_tasn_dec.c
push 0x8b
jmp 0x4a7468
cmp ecx, 0x1e
ja 0x4a6d4e
mov eax, dword [ecx*4 + 0x6aef08]
jmp 0x4a6d50
xor eax, eax
test dword [edi + 4], eax
jne 0x4a6d74
cmp byte [esp + 0x68], 0
jne 0x4a6f0b
push 0xd9
push str.crypto_asn1_tasn_dec.c
push 0x8c
jmp 0x4a7468
push esi
push 0
push 0
push ecx
push edi
push ebp
push dword [esp + 0x6c]
push ebx
call fcn.004a61a0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
push dword [esp + 0x6c]
mov esi, dword [eax + 0x10]
mov ecx, esi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push edi
push ebp
push dword [esp + 0x6c]
push ebx
call dword [0x6926b4]
call esi
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
cmp dword [esp + 0x60], 0xffffffff
je 0x4a6ddb
push 0xe9
push str.crypto_asn1_tasn_dec.c
push 0xe6
jmp 0x4a7468
test esi, esi
je 0x4a6dfa
push 0
push edi
push ebx
push 4
mov ecx, esi
call dword [0x6926b4]
call esi
add esp, 0x10
test eax, eax
je 0x4a745c
cmp dword [ebx], 0
push edi
push ebx
je 0x4a6e9d
call fcn.004cf400
add esp, 8
test eax, eax
js 0x4a6e39
cmp eax, dword [edi + 0xc]
jge 0x4a6e39
lea ecx, [eax + eax*4]
mov eax, dword [edi + 8]
lea esi, [eax + ecx*4]
push esi
push ebx
call fcn.004cf420
push esi
push eax
call fcn.004a5d20
push edi
push 0xffffffffffffffff
push ebx
call fcn.004cf430
add esp, 0x1c
mov edx, dword [esp + 0x54]
xor eax, eax
mov esi, dword [edi + 8]
mov dword [esp + 0x28], eax
mov ebp, dword [edx]
mov dword [esp + 0x18], ebp
cmp eax, dword [edi + 0xc]
jge 0x4a6ef8
mov ebp, dword [esp + 0x58]
nop dword [eax]
push esi
push ebx
call fcn.004cf420
push dword [esp + 0x78]
lea ecx, [esp + 0x24]
mov dword [esp + 0x44], eax
push dword [esp + 0x78]
push 1
push esi
push ebp
push ecx
push eax
call fcn.004a74b0
add esp, 0x24
cmp eax, 0xffffffff
jne 0x4a6eba
mov eax, dword [esp + 0x28]
add esi, 0x14
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [edi + 0xc]
jl 0x4a6e60
jmp 0x4a6ef1
call fcn.004a53a0
add esp, 8
test eax, eax
jne 0x4a6e39
push 0xf9
push str.crypto_asn1_tasn_dec.c
push 0x3a
jmp 0x4a7468
test eax, eax
jg 0x4a6eed
push esi
push dword [esp + 0x3c]
call fcn.004a5d20
push 0x110
push str.crypto_asn1_tasn_dec.c
push 0x3a
push 0x78
push 0xd
call fcn.00492d80
add esp, 0x1c
test esi, esi
je 0x4a7474
jmp 0x4a7438
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x18]
cmp eax, dword [edi + 0xc]
jne 0x4a6f2a
cmp byte [esp + 0x68], 0
je 0x4a6f16
push edi
push ebx
call fcn.004a59c0
add esp, 8
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x3c
ret
push 0x11c
push str.crypto_asn1_tasn_dec.c
push 0x8f
jmp 0x4a7468
push edi
push eax
push ebx
call fcn.004cf430
add esp, 0xc
jmp 0x4a73ee
mov eax, dword [esp + 0x60]
mov ecx, 0x10
mov edx, dword [esp + 0x54]
cmp eax, 0xffffffff
mov esi, dword [esp + 0x6c]
cmovne ecx, eax
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov edx, dword [edx]
cmp eax, 0xffffffff
mov dword [esp + 0x38], edx
cmovne ecx, dword [esp + 0x64]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x20], edx
test esi, esi
je 0x4a704f
cmp byte [esi], 0
je 0x4a6fb2
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x14]
add eax, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
jmp 0x4a7094
push ebp
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00490250
mov ecx, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x38]
add esp, 0x14
mov dword [esp + 0x34], eax
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x20]
mov edi, eax
sub edi, dword [esp + 0x38]
mov dword [esp + 0x3c], edi
mov dword [esi + 0x14], edi
mov edi, dword [esp + 0x5c]
mov dword [esi + 4], edx
mov dword [esp + 0x14], ecx
mov dword [esi + 8], ecx
mov dword [esp + 0x1c], eax
mov byte [esi], 1
test dl, 0x81
jne 0x4a7094
mov eax, dword [esp + 0x3c]
add eax, ecx
cmp eax, ebp
jle 0x4a7090
push 0x469
push str.crypto_asn1_tasn_dec.c
push 0x9b
push 0x68
push 0xd
call fcn.00492d80
add esp, 0x14
mov byte [esi], 0
push 0x135
push str.crypto_asn1_tasn_dec.c
push 0x3a
jmp 0x4a7468
push ebp
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00490250
mov ecx, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x34]
add esp, 0x14
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], ecx
jmp 0x4a7094
mov eax, dword [esp + 0x1c]
test dl, dl
jns 0x4a70cc
push 0x471
push str.crypto_asn1_tasn_dec.c
push 0x66
push 0x68
push 0xd
call fcn.00492d80
add esp, 0x14
test esi, esi
je 0x4a715c
push 0x135
push str.crypto_asn1_tasn_dec.c
mov byte [esi], 0
push 0x3a
jmp 0x4a7468
mov ecx, dword [esp + 0x40]
test ecx, ecx
js 0x4a70eb
cmp ecx, dword [esp + 0x30]
jne 0x4a712f
mov ecx, dword [esp + 0x44]
cmp ecx, dword [esp + 0x34]
jne 0x4a712f
test esi, esi
je 0x4a70eb
mov byte [esi], 0
test dl, 1
je 0x4a70fc
mov ecx, dword [esp + 0x38]
sub ecx, eax
add ecx, ebp
mov dword [esp + 0x14], ecx
mov cl, dl
mov dword [esp + 0x18], eax
and cl, 1
and dl, 0x20
mov byte [esp + 0x12], cl
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4a716d
test byte [ecx + 4], 4
je 0x4a716d
mov ecx, ebp
mov byte [esp + 0x13], 1
sub ecx, eax
mov eax, dword [esp + 0x54]
add ecx, dword [eax]
mov dword [esp + 0x14], ecx
jmp 0x4a7175
cmp byte [esp + 0x68], 0
jne 0x4a6f0b
test esi, esi
je 0x4a7141
mov byte [esi], 0
push 0x47d
push str.crypto_asn1_tasn_dec.c
push 0xa8
push 0x68
push 0xd
call fcn.00492d80
add esp, 0x14
push 0x135
push str.crypto_asn1_tasn_dec.c
push 0x3a
jmp 0x4a7468
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
test dl, dl
jne 0x4a718d
push 0x141
push str.crypto_asn1_tasn_dec.c
push 0x95
jmp 0x4a7468
cmp dword [ebx], 0
jne 0x4a71b1
push edi
push ebx
call fcn.004a53a0
add esp, 8
test eax, eax
jne 0x4a71b1
push 0x146
push str.crypto_asn1_tasn_dec.c
push 0x3a
jmp 0x4a7468
mov ebp, dword [esp + 0x2c]
test ebp, ebp
je 0x4a71d4
push 0
push edi
push ebx
push 4
mov ecx, ebp
call dword [0x6926b4]
call ebp
add esp, 0x10
test eax, eax
je 0x4a745c
mov ecx, dword [edi + 0xc]
xor eax, eax
mov ebp, dword [edi + 8]
mov dword [esp + 0x38], eax
test ecx, ecx
jle 0x4a7226
test dword [ebp], 0x300
je 0x4a7214
push 0
push ebp
push ebx
call fcn.004cf0a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4a7210
push esi
push ebx
call fcn.004cf420
push esi
push eax
call fcn.004a5d20
add esp, 0x10
mov eax, dword [esp + 0x38]
mov ecx, dword [edi + 0xc]
inc eax
add ebp, 0x14
mov dword [esp + 0x38], eax
cmp eax, ecx
jl 0x4a71e4
mov ebp, dword [edi + 8]
mov dword [esp + 0x20], 0
test ecx, ecx
jle 0x4a7332
push 1
push ebp
push ebx
call fcn.004cf0a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4a7474
push esi
push ebx
call fcn.004cf420
mov edx, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x34], eax
test edx, edx
je 0x4a7336
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov dword [esp + 0x48], ecx
cmp edx, 2
jl 0x4a7284
cmp byte [eax], 0
jne 0x4a7284
cmp byte [eax + 1], 0
je 0x4a730b
mov eax, dword [edi + 0xc]
dec eax
cmp dword [esp + 0x20], eax
jne 0x4a7295
mov byte [esp + 0x38], 0
jmp 0x4a729d
mov al, byte [esi]
and al, 1
mov byte [esp + 0x38], al
push dword [esp + 0x70]
lea eax, [esp + 0x1c]
push dword [esp + 0x70]
push dword [esp + 0x40]
push esi
push edx
push eax
push dword [esp + 0x4c]
call fcn.004a74b0
add esp, 0x1c
test eax, eax
je 0x4a7438
cmp eax, 0xffffffff
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
jne 0x4a72e4
push esi
push dword [esp + 0x38]
call fcn.004a5d20
mov edx, dword [esp + 0x1c]
add esp, 8
jmp 0x4a72f4
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
sub ecx, eax
add edx, ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x20]
add ebp, 0x14
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [edi + 0xc]
jl 0x4a7236
jmp 0x4a7336
cmp byte [esp + 0x12], 0
lea eax, [ecx + 2]
mov dword [esp + 0x1c], eax
jne 0x4a732d
push 0x168
push str.crypto_asn1_tasn_dec.c
push 0x9f
jmp 0x4a7468
sub edx, 2
jmp 0x4a736b
mov edx, dword [esp + 0x14]
cmp byte [esp + 0x12], 0
je 0x4a736b
lea eax, [esp + 0x18]
push edx
push eax
call fcn.004a5ef0
add esp, 8
test eax, eax
jne 0x4a7363
push 0x190
push str.crypto_asn1_tasn_dec.c
push 0x89
jmp 0x4a7468
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
cmp byte [esp + 0x13], 0
jne 0x4a738a
test edx, edx
je 0x4a738a
push 0x195
push str.crypto_asn1_tasn_dec.c
push 0x94
jmp 0x4a7468
mov ecx, dword [esp + 0x20]
cmp ecx, dword [edi + 0xc]
jge 0x4a73d0
push 1
push ebp
push ebx
call fcn.004cf0a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4a7474
test byte [esi], 1
je 0x4a7420
push esi
push ebx
call fcn.004cf420
push esi
push eax
call fcn.004a5d20
mov eax, dword [esp + 0x30]
add esp, 0x10
inc eax
add ebp, 0x14
mov dword [esp + 0x20], eax
cmp eax, dword [edi + 0xc]
jl 0x4a7393
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x1c]
push edi
mov ecx, dword [eax]
mov eax, ebp
sub eax, ecx
push eax
push ecx
push ebx
call fcn.004cf350
add esp, 0x10
test eax, eax
je 0x4a745c
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x4a740d
push 0
push edi
push ebx
push 5
mov ecx, esi
call dword [0x6926b4]
call esi
add esp, 0x10
test eax, eax
je 0x4a745c
mov eax, dword [esp + 0x54]
pop edi
pop esi
mov dword [eax], ebp
mov eax, 1
pop ebp
pop ebx
add esp, 0x3c
ret
push 0x1a9
push str.crypto_asn1_tasn_dec.c
push 0x79
push 0x78
push 0xd
call fcn.00492d80
add esp, 0x14
push dword [edi + 0x18]
push str.__Type
push dword [esi + 0xc]
push str.Field
push 4
call fcn.004923d0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
push 0x1b9
push str.crypto_asn1_tasn_dec.c
push 0x64
push 0x78
push 0xd
call fcn.00492d80
add esp, 0x14
push dword [edi + 0x18]
push str.Type
push 2
call fcn.004923d0
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c
ret