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

Disassembly:
sub esp, 0x144
push ebp
mov ebp, dword [esp + 0x14c]
test ebp, ebp
jne 0x10012a3f
mov eax, 0x3e9
pop ebp
add esp, 0x144
ret
mov eax, dword [ebp + 0x21c]
cmp eax, 0x3ef
je 0x100140f1
cmp eax, 0x3f0
je 0x100140f1
cmp eax, 0x3f1
je 0x100140f1
cmp eax, 0x3f2
je 0x100140f1
cmp eax, 0x3f3
je 0x100140f1
cmp eax, 0x3f6
je 0x100140f1
cmp eax, 0x3f7
je 0x100140f1
cmp eax, 0x3f8
je 0x100140f1
cmp eax, 0x402
je 0x100140f1
cmp eax, 0x3fa
je 0x100140f1
push ebx
push esi
push edi
mov esi, ebp
call fcn.10009ba0
push str.___START...
push 0x1025c670
mov ecx, 0x2d6
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.DEBUG
mov ebx, ebp
call fcn.1007a350
mov eax, dword [ebp + 0x274]
xor ebx, ebx
add esp, 8
cmp eax, ebx
je 0x10012c1c
cmp dword [eax + 4], ebx
je 0x10012c1c
xor cl, cl
cmp dword [eax + 4], ebx
jle 0x10012b05
mov eax, dword [eax + 0xc]
mov cl, byte [eax]
test cl, cl
js 0x10012c1c
push 0x1025b5c4
push 0x1025c670
push str.__s___s
lea eax, [esp + 0x1c]
mov dword [ebp + 0x21c], 0x3f5
mov dword [esp + 0x1c], vtable.C3303::ByteString.0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0xc
cmp eax, ebx
je 0x10012b63
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], ebx
mov esi, dword [esp + 0x14]
cmp esi, ebx
jle 0x10012b8c
lea ecx, [esi + 1]
push ecx
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, ebx
jne 0x10012b8c
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x10012be7
mov eax, dword [ebp + 0x200]
cmp eax, ebx
je 0x10012bca
lea edi, [esi + 1]
push edi
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, ebx
je 0x10012bb0
cmp esi, ebx
jne 0x10012bb5
mov eax, 0x1025bd4e
mov edx, dword [ebp + 0x200]
push eax
push edi
push edx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10012b81
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x10012be7
mov eax, dword [esp + 0x18]
push eax
push ebx
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov ecx, dword [ebp + 0x200]
push ecx
push 0x1025c670
mov ecx, 0x2da
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
pop edi
pop esi
pop ebx
mov eax, 0x3f5
pop ebp
add esp, 0x144
ret
cmp dword [esp + 0x164], ebx
jne 0x10012d85
push str.pPubKeyInfo
mov esi, vtable.C3303::ByteString.0
push 0x1025b604
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
call fcn.101e6de0
mov eax, dword [esp + 0x38]
add esp, 8
cmp eax, ebx
je 0x10012c66
cmp dword [esp + 0x28], ebx
jne 0x10012c6b
mov eax, 0x1025bd4e
mov dword [ebp + 0x21c], 0x3ec
cmp eax, ebx
je 0x10012d47
push eax
push 0x1025c670
push str.__s___s
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0xc
cmp eax, ebx
je 0x10012cc1
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], ebx
mov esi, dword [esp + 0x14]
cmp esi, ebx
jle 0x10012cdf
lea edx, [esi + 1]
push edx
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, ebx
je 0x10012d1f
mov eax, dword [ebp + 0x200]
cmp eax, ebx
je 0x10012d2a
lea edi, [esi + 1]
push edi
push ebx
push eax
call fcn.10228aa0
add esp, 0xc
cmp dword [esp + 0x1c], ebx
je 0x10012d05
mov eax, dword [esp + 0x1c]
cmp esi, ebx
jne 0x10012d0a
mov eax, 0x1025bd4e
push eax
mov eax, dword [ebp + 0x200]
push edi
push eax
call fcn.10226818
add esp, 0xc
test eax, eax
je 0x10012d2a
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x10012d47
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x10012d47
mov ecx, dword [esp + 0x18]
push ecx
push ebx
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov edx, dword [ebp + 0x200]
push edx
push 0x1025c670
mov ecx, 0x2e0
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x24]
call fcn.101e5b00
pop edi
pop esi
pop ebx
mov eax, 0x3ec
pop ebp
add esp, 0x144
ret
mov edi, dword [esp + 0x15c]
mov edx, vtable.C3303::ByteString.0
mov eax, edi
mov dword [esp + 0x78], edx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x64], edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
lea esi, [eax + 1]
jmp 0x10012de0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10012de0
sub eax, esi
je 0x10012f70
mov esi, str.GET_PUBKEY_INFO
mov eax, edi
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10012e16
cmp cl, bl
je 0x10012e12
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10012e16
add eax, 2
add esi, 2
cmp cl, bl
jne 0x10012df6
xor eax, eax
jmp 0x10012e1b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x10012f70
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx]
cmp eax, ebx
je 0x10012e4a
mov edi, dword [ecx + 4]
cmp edi, ebx
je 0x10012e4a
push eax
lea esi, [esp + 0x7c]
call fcn.101e5d60
mov byte [esp + 0x3b], bl
jmp 0x100131db
push 0x1025b874
push 0x1025c670
push str.__s___s
lea eax, [esp + 0x1c]
mov dword [ebp + 0x21c], 0x3ec
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0xc
cmp eax, ebx
je 0x10012e9c
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], ebx
mov esi, dword [esp + 0x14]
cmp esi, ebx
jle 0x10012ec5
lea eax, [esi + 1]
push eax
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, ebx
jne 0x10012ec5
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x10012f20
mov eax, dword [ebp + 0x200]
cmp eax, ebx
je 0x10012f03
lea edi, [esi + 1]
push edi
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, ebx
je 0x10012ee9
cmp esi, ebx
jne 0x10012eee
mov eax, 0x1025bd4e
mov ecx, dword [ebp + 0x200]
push eax
push edi
push ecx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10012eba
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x10012f20
mov edx, dword [esp + 0x18]
push edx
push ebx
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov eax, dword [ebp + 0x200]
push eax
push 0x1025c670
mov ecx, 0x2eb
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x78]
call fcn.101e5b00
pop edi
pop esi
pop ebx
mov eax, 0x3ec
pop ebp
add esp, 0x144
ret
mov eax, dword [ebp + 0x20c]
cmp eax, ebx
jne 0x100130a4
push 0x1025c830
push 0x1025c670
push str.__s___s
lea eax, [esp + 0x1c]
mov dword [ebp + 0x21c], 0x5dd
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0xc
cmp eax, ebx
je 0x10012fd0
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], ebx
mov esi, dword [esp + 0x14]
cmp esi, ebx
jle 0x10012ff9
lea ecx, [esi + 1]
push ecx
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, ebx
jne 0x10012ff9
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x10013054
mov eax, dword [ebp + 0x200]
cmp eax, ebx
je 0x10013037
lea edi, [esi + 1]
push edi
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, ebx
je 0x1001301d
cmp esi, ebx
jne 0x10013022
mov eax, 0x1025bd4e
mov edx, dword [ebp + 0x200]
push eax
push edi
push edx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10012fee
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x10013054
mov eax, dword [esp + 0x18]
push eax
push ebx
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov ecx, dword [ebp + 0x200]
push ecx
push 0x1025c670
mov ecx, 0x2f3
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x78]
call fcn.101e5b00
pop edi
pop esi
pop ebx
mov eax, 0x5dd
pop ebp
add esp, 0x144
ret
mov ebx, eax
call fcn.10103aa0
mov edi, eax
lea esi, [esp + 0x78]
call fcn.101e5f90
mov eax, dword [ebp + 0x20c]
xor esi, esi
cmp dword [eax + 4], esi
jle 0x100131d4
lea ecx, [eax + 0x1c]
call fcn.101e6430
push eax
push 0x1025b724
push 0x1025c670
push str.__s___s__caoslib___s
lea eax, [esp + 0x20]
mov dword [ebp + 0x21c], 0x5dc
mov dword [esp + 0x20], vtable.C3303::ByteString.0
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0x10
cmp eax, esi
je 0x10013126
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], esi
mov edi, dword [esp + 0x14]
cmp edi, esi
jle 0x1001314f
lea edx, [edi + 1]
push edx
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, esi
jne 0x1001314f
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x100131aa
mov eax, dword [ebp + 0x200]
cmp eax, esi
je 0x1001318d
lea ebx, [edi + 1]
push ebx
push esi
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, esi
je 0x10013173
cmp edi, esi
jne 0x10013178
mov eax, 0x1025bd4e
push eax
mov eax, dword [ebp + 0x200]
push ebx
push eax
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10013144
mov edi, dword [esp + 0x1c]
cmp edi, esi
je 0x100131aa
mov ecx, dword [esp + 0x18]
push ecx
push esi
push edi
call fcn.10228aa0
push edi
call fcn.1021b8de
add esp, 0x10
mov edx, dword [ebp + 0x200]
push edx
push 0x1025c670
mov ecx, 0x2fd
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
jmp 0x10013a40
mov byte [esp + 0x3b], 1
xor ebx, ebx
lea eax, [esp + 0xe0]
call fcn.10105740
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x7c]
call fcn.10106120
test eax, eax
jle 0x10013311
lea ecx, [esp + 0xfc]
call fcn.101e6430
push eax
push 0x1025b724
push 0x1025c670
push str.__s___s__caoslib___s
lea eax, [esp + 0x20]
mov dword [ebp + 0x21c], 0x5dc
mov dword [esp + 0x20], vtable.C3303::ByteString.0
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0x10
cmp eax, ebx
je 0x10013263
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], ebx
mov esi, dword [esp + 0x14]
cmp esi, ebx
jle 0x1001328c
lea ecx, [esi + 1]
push ecx
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, ebx
jne 0x1001328c
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x100132e7
mov eax, dword [ebp + 0x200]
cmp eax, ebx
je 0x100132ca
lea edi, [esi + 1]
push edi
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, ebx
je 0x100132b0
cmp esi, ebx
jne 0x100132b5
mov eax, 0x1025bd4e
mov edx, dword [ebp + 0x200]
push eax
push edi
push edx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10013281
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x100132e7
mov eax, dword [esp + 0x18]
push eax
push ebx
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov ecx, dword [ebp + 0x200]
push ecx
push 0x1025c670
mov ecx, 0x304
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
jmp 0x10013a34
mov eax, vtable.C3303::ByteString.0
lea edi, [esp + 0x118]
lea esi, [esp + 0x8c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
call fcn.101e5f90
lea edi, [esp + 0x12c]
lea esi, [esp + 0xb4]
call fcn.101e5f90
lea edi, [esp + 0x140]
lea esi, [esp + 0x10]
mov dword [esp + 0x10], vtable.C3303::ByteString.0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
call fcn.101e5f90
mov ecx, str.1_2_840_113549_1_1_1
lea eax, [esp + 0x8c]
call fcn.101e62f0
test al, al
je 0x100135e3
lea edx, [esp + 0x64]
push edx
mov edx, 0x1025caf4
call fcn.101e5eb0
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x28]
mov esi, vtable.C3303::ByteString.0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
push ecx
lea ecx, [esp + 0x18]
lea ebx, [esp + 0xe8]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xa8], esi
call fcn.101063c0
test eax, eax
jle 0x10013552
lea ecx, [esp + 0xfc]
call fcn.101e6430
push eax
push 0x1025b724
mov dword [esp + 0x44], esi
xor esi, esi
push 0x1025c670
push str.__s___s__caoslib___s
lea eax, [esp + 0x4c]
mov dword [ebp + 0x21c], 0x5dc
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0x10
cmp eax, esi
je 0x10013494
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], esi
mov edi, dword [esp + 0x40]
cmp edi, esi
jle 0x100134bd
lea edx, [edi + 1]
push edx
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, esi
jne 0x100134bd
lea ecx, [esp + 0x3c]
call fcn.101e5b00
jmp 0x10013518
mov eax, dword [ebp + 0x200]
cmp eax, esi
je 0x100134fb
lea ebx, [edi + 1]
push ebx
push esi
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x54]
add esp, 0xc
cmp eax, esi
je 0x100134e1
cmp edi, esi
jne 0x100134e6
mov eax, 0x1025bd4e
push eax
mov eax, dword [ebp + 0x200]
push ebx
push eax
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x100134b2
mov edi, dword [esp + 0x48]
cmp edi, esi
je 0x10013518
mov ecx, dword [esp + 0x44]
push ecx
push esi
push edi
call fcn.10228aa0
push edi
call fcn.1021b8de
add esp, 0x10
mov edx, dword [ebp + 0x200]
push edx
push 0x1025c670
mov ecx, 0x314
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0xa0]
call fcn.101e5b00
lea ecx, [esp + 0x24]
jmp 0x10013a0e
mov eax, dword [esp + 0x28]
cmp eax, 0x100
jg 0x1001358d
je 0x10013581
sub eax, 0x40
je 0x10013575
sub eax, 0x40
jne 0x1001359b
lea eax, [esp + 0x50]
push eax
mov edx, str.1024_Bits
jmp 0x100135bd
lea ecx, [esp + 0x50]
push ecx
mov edx, str.512_Bits
jmp 0x100135bd
lea edx, [esp + 0x50]
push edx
mov edx, str.2048_Bits
jmp 0x100135bd
cmp eax, 0x180
je 0x100135b3
cmp eax, 0x200
je 0x100135a7
lea eax, [esp + 0x50]
push eax
mov edx, str.Unknown
jmp 0x100135bd
lea ecx, [esp + 0x50]
push ecx
mov edx, str.4096_Bits
jmp 0x100135bd
lea edx, [esp + 0x50]
push edx
mov edx, str.3072_Bits
call fcn.101e5eb0
lea ecx, [esp + 0xa0]
call fcn.101e5b00
lea ecx, [esp + 0x24]
call fcn.101e5b00
xor ebx, ebx
mov esi, vtable.C3303::ByteString.0
jmp 0x10013b14
mov ecx, str.1_2_840_10045_2_1
lea eax, [esp + 0x8c]
call fcn.101e62f0
test al, al
jne 0x100138ba
mov ecx, str.1_2_410_200004_1_100_2_1
lea eax, [esp + 0x8c]
call fcn.101e62f0
test al, al
jne 0x100138ba
mov ecx, str.1_2_410_200004_1_1
lea eax, [esp + 0x8c]
call fcn.101e62f0
test al, al
jne 0x10013667
mov ecx, str.1_2_410_200004_1_21
lea eax, [esp + 0x8c]
call fcn.101e62f0
test al, al
jne 0x10013667
lea eax, [esp + 0x64]
push eax
mov edx, str.Unknown
call fcn.101e5eb0
lea ecx, [esp + 0x50]
push ecx
mov edx, str.Unknown
call fcn.101e5eb0
mov esi, vtable.C3303::ByteString.0
jmp 0x10013b14
lea edx, [esp + 0x64]
push edx
mov edx, str.KCDSA
call fcn.101e5eb0
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0x2c]
mov esi, vtable.C3303::ByteString.0
push edx
lea ecx, [esp + 0xc0]
lea edx, [esp + 0xec]
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0xd8], esi
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xac], esi
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
call fcn.10106850
test eax, eax
jle 0x1001382e
lea ecx, [esp + 0xfc]
call fcn.101e6430
push eax
push 0x1025b724
push 0x1025c670
push str.__s___s__caoslib___s
lea eax, [esp + 0x4c]
mov dword [ebp + 0x21c], 0x5dc
mov dword [esp + 0x4c], esi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0x10
cmp eax, ebx
je 0x10013764
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], ebx
mov esi, dword [esp + 0x40]
cmp esi, ebx
jle 0x1001378d
lea eax, [esi + 1]
push eax
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, ebx
jne 0x1001378d
lea ecx, [esp + 0x3c]
call fcn.101e5b00
jmp 0x100137e8
mov eax, dword [ebp + 0x200]
cmp eax, ebx
je 0x100137cb
lea edi, [esi + 1]
push edi
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x54]
add esp, 0xc
cmp eax, ebx
je 0x100137b1
cmp esi, ebx
jne 0x100137b6
mov eax, 0x1025bd4e
mov ecx, dword [ebp + 0x200]
push eax
push edi
push ecx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10013782
mov esi, dword [esp + 0x48]
cmp esi, ebx
je 0x100137e8
mov edx, dword [esp + 0x44]
push edx
push ebx
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov eax, dword [ebp + 0x200]
push eax
push 0x1025c670
mov ecx, 0x33c
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0xa0]
call fcn.101e5b00
lea ecx, [esp + 0xcc]
call fcn.101e5b00
lea ecx, [esp + 0x24]
jmp 0x10013a0e
mov eax, dword [esp + 0x28]
cmp eax, 0x100
jg 0x10013864
je 0x1001385d
sub eax, 0x40
je 0x10013851
sub eax, 0x40
jne 0x10013872
lea ecx, [esp + 0x50]
push ecx
mov edx, str.1024_Bits
jmp 0x10013894
lea edx, [esp + 0x50]
push edx
mov edx, str.512_Bits
jmp 0x10013894
mov edx, str.2048_Bits
jmp 0x1001388f
cmp eax, 0x180
je 0x1001388a
cmp eax, 0x200
je 0x1001387e
lea ecx, [esp + 0x50]
push ecx
mov edx, str.Unknown
jmp 0x10013894
lea edx, [esp + 0x50]
push edx
mov edx, str.4096_Bits
jmp 0x10013894
mov edx, str.3072_Bits
lea eax, [esp + 0x50]
push eax
call fcn.101e5eb0
lea ecx, [esp + 0xa0]
call fcn.101e5b00
lea ecx, [esp + 0xcc]
call fcn.101e5b00
lea ecx, [esp + 0x24]
jmp 0x10013b0f
lea ecx, [esp + 0x64]
push ecx
mov edx, 0x1025cb6c
call fcn.101e5eb0
lea edx, [esp + 0x3c]
push edx
mov esi, vtable.C3303::ByteString.0
lea ecx, [esp + 0xb8]
lea edx, [esp + 0xe4]
mov dword [esp + 0x40], esi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
call fcn.101064f0
test eax, eax
jle 0x10013a6b
lea ecx, [esp + 0xfc]
call fcn.101e6430
push eax
push 0x1025b724
push 0x1025c670
push str.__s___s__caoslib___s
lea eax, [esp + 0x34]
mov dword [ebp + 0x21c], 0x5dc
mov dword [esp + 0x34], esi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0x10
cmp eax, ebx
je 0x10013961
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], ebx
mov esi, dword [esp + 0x28]
cmp esi, ebx
jle 0x1001398a
lea eax, [esi + 1]
push eax
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, ebx
jne 0x1001398a
lea ecx, [esp + 0x24]
call fcn.101e5b00
jmp 0x100139e5
mov eax, dword [ebp + 0x200]
cmp eax, ebx
je 0x100139c8
lea edi, [esi + 1]
push edi
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp eax, ebx
je 0x100139ae
cmp esi, ebx
jne 0x100139b3
mov eax, 0x1025bd4e
mov ecx, dword [ebp + 0x200]
push eax
push edi
push ecx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x1001397f
mov esi, dword [esp + 0x30]
cmp esi, ebx
je 0x100139e5
mov edx, dword [esp + 0x2c]
push edx
push ebx
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov eax, dword [ebp + 0x200]
push eax
push 0x1025c670
mov ecx, 0x327
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x3c]
call fcn.101e5b00
lea ecx, [esp + 0x10]
call fcn.101e5b00
lea ecx, [esp + 0xb4]
call fcn.101e5b00
lea ecx, [esp + 0x8c]
call fcn.101e5b00
lea ecx, [esp + 0xe0]
call fcn.101057c0
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x78]
call fcn.101e5b00
pop edi
pop esi
pop ebx
mov eax, 0x5dc
pop ebp
add esp, 0x144
ret
mov ecx, str.1_3_132_0_1
lea eax, [esp + 0x3c]
call fcn.101e62f0
test al, al
je 0x10013a89
lea ecx, [esp + 0x50]
push ecx
mov edx, str.WTLS_3
jmp 0x10013b06
mov ecx, str.1_2_840_10045_3_0_1
lea eax, [esp + 0x3c]
call fcn.101e62f0
test al, al
je 0x10013aa7
lea edx, [esp + 0x50]
push edx
mov edx, str.WTLS_5
jmp 0x10013b06
mov ecx, str.1_3_132_0_8
lea eax, [esp + 0x3c]
call fcn.101e62f0
test al, al
je 0x10013ac0
mov edx, str.WTLS_7
jmp 0x10013b01
mov ecx, str.1_3_132_0_33
lea eax, [esp + 0x3c]
call fcn.101e62f0
test al, al
je 0x10013ade
lea ecx, [esp + 0x50]
push ecx
mov edx, str.secp224r1
jmp 0x10013b06
mov ecx, str.1_2_840_10045_3_1_7
lea eax, [esp + 0x3c]
call fcn.101e62f0
test al, al
je 0x10013afc
lea edx, [esp + 0x50]
push edx
mov edx, str.secp256r1
jmp 0x10013b06
mov edx, str.Unknown
lea eax, [esp + 0x50]
push eax
call fcn.101e5eb0
lea ecx, [esp + 0x3c]
call fcn.101e5b00
mov edi, dword [esp + 0x15c]
push 0x32
push ebx
push edi
call fcn.10228aa0
mov ecx, dword [esp + 0x74]
add esp, 0xc
cmp ecx, 0x32
jl 0x10013c6f
mov esi, dword [esp + 0x70]
cmp esi, ebx
je 0x10013b40
cmp ecx, ebx
jne 0x10013b45
mov esi, 0x1025bd4e
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, vtable.C3303::ByteString.0
mov edi, dword [esp + 0x160]
mov ecx, dword [esp + 0x54]
cmp ecx, 0x14
mov eax, dword [esp + 0x5c]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebx
jl 0x10013de7
cmp eax, ebx
je 0x10013b80
cmp ecx, ebx
jne 0x10013b85
mov eax, 0x1025bd4e
mov edx, dword [eax]
mov dword [edi], edx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov edx, dword [eax + 8]
mov dword [edi + 8], edx
mov ecx, dword [eax + 0xc]
mov dword [edi + 0xc], ecx
mov dx, word [eax + 0x10]
mov word [edi + 0x10], dx
mov al, byte [eax + 0x12]
mov byte [edi + 0x12], al
cmp byte [esp + 0x3b], 1
jne 0x1001403d
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x7c]
cmp eax, ebx
je 0x10013bc7
cmp ecx, ebx
jne 0x10013bcc
mov eax, 0x1025bd4e
mov edx, dword [esp + 0x164]
push edx
push ecx
push eax
call sym.DSCToolkitV30_v3.4.2.25.dll_DSTK_BINSTR_SetData
add esp, 0xc
mov dword [esp + 0xc8], eax
cmp eax, ebx
je 0x1001403d
push str.DSTK_BINSTR_SetData_:_PubKeyInfo
mov dword [ebp + 0x21c], eax
push 0x1025c670
push str.__s___s
lea eax, [esp + 0x48]
mov dword [esp + 0x48], esi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0xc
cmp eax, ebx
je 0x10013c3b
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], ebx
mov edi, dword [esp + 0x40]
cmp edi, ebx
jle 0x10013f5b
lea eax, [edi + 1]
push eax
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, ebx
jne 0x10013f5b
lea ecx, [esp + 0x3c]
call fcn.101e5b00
jmp 0x10013fbe
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x10013c7b
cmp ecx, ebx
jne 0x10013c80
mov eax, 0x1025bd4e
push eax
push 0x32
push edi
call fcn.10226818
add esp, 0xc
test eax, eax
je 0x10013b52
push 0x1025bfac
push 0x1025c670
push str.__s___s
lea eax, [esp + 0x30]
mov dword [ebp + 0x21c], 0x3ed
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0xc
cmp eax, ebx
je 0x10013ce6
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], ebx
mov esi, dword [esp + 0x28]
cmp esi, ebx
jle 0x10013d0f
lea ecx, [esi + 1]
push ecx
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, ebx
jne 0x10013d0f
lea ecx, [esp + 0x24]
call fcn.101e5b00
jmp 0x10013d6a
mov eax, dword [ebp + 0x200]
cmp eax, ebx
je 0x10013d4d
lea edi, [esi + 1]
push edi
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp eax, ebx
je 0x10013d33
cmp esi, ebx
jne 0x10013d38
mov eax, 0x1025bd4e
mov edx, dword [ebp + 0x200]
push eax
push edi
push edx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10013d04
mov esi, dword [esp + 0x30]
cmp esi, ebx
je 0x10013d6a
mov eax, dword [esp + 0x2c]
push eax
push ebx
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov ecx, dword [ebp + 0x200]
push ecx
push 0x1025c670
mov ecx, 0x355
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x10]
call fcn.101e5b00
lea ecx, [esp + 0xb4]
call fcn.101e5b00
lea ecx, [esp + 0x8c]
call fcn.101e5b00
lea ecx, [esp + 0xe0]
call fcn.101057c0
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x78]
call fcn.101e5b00
pop edi
pop esi
pop ebx
mov eax, 0x3ed
pop ebp
add esp, 0x144
ret
cmp eax, ebx
je 0x10013def
cmp ecx, ebx
jne 0x10013df4
mov eax, 0x1025bd4e
push eax
push 0x14
push edi
call fcn.10226818
add esp, 0xc
test eax, eax
je 0x10013ba9
push 0x1025bfac
push 0x1025c670
push str.__s___s
lea eax, [esp + 0x30]
mov dword [ebp + 0x21c], 0x3ed
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call fcn.101e6de0
mov eax, dword [ebp + 0x200]
add esp, 0xc
cmp eax, ebx
je 0x10013e5a
push eax
call fcn.102264a9
add esp, 4
mov dword [ebp + 0x200], ebx
mov esi, dword [esp + 0x28]
cmp esi, ebx
jle 0x10013e83
lea ecx, [esi + 1]
push ecx
call fcn.10226586
add esp, 4
mov dword [ebp + 0x200], eax
cmp eax, ebx
jne 0x10013e83
lea ecx, [esp + 0x24]
call fcn.101e5b00
jmp 0x10013ede
mov eax, dword [ebp + 0x200]
cmp eax, ebx
je 0x10013ec1
lea edi, [esi + 1]
push edi
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp eax, ebx
je 0x10013ea7
cmp esi, ebx
jne 0x10013eac
mov eax, 0x1025bd4e
mov edx, dword [ebp + 0x200]
push eax
push edi
push edx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10013e78
mov esi, dword [esp + 0x30]
cmp esi, ebx
je 0x10013ede
mov eax, dword [esp + 0x2c]
push eax
push ebx
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov ecx, dword [ebp + 0x200]
push ecx
push 0x1025c670
mov ecx, 0x35e
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x10]
call fcn.101e5b00
lea ecx, [esp + 0xb4]
call fcn.101e5b00
lea ecx, [esp + 0x8c]
call fcn.101e5b00
lea ecx, [esp + 0xe0]
call fcn.101057c0
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x78]
call fcn.101e5b00
pop edi
pop esi
pop ebx
mov eax, 0x3ed
pop ebp
add esp, 0x144
ret
mov eax, dword [ebp + 0x200]
cmp eax, ebx
je 0x10013f9f
lea esi, [edi + 1]
push esi
push ebx
push eax
call fcn.10228aa0
add esp, 0xc
cmp dword [esp + 0x48], ebx
je 0x10013f81
mov eax, dword [esp + 0x48]
cmp edi, ebx
jne 0x10013f86
mov eax, 0x1025bd4e
mov ecx, dword [ebp + 0x200]
push eax
push esi
push ecx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10013c61
cmp dword [esp + 0x48], ebx
je 0x10013fbe
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
push edx
push ebx
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov eax, dword [ebp + 0x200]
push eax
push 0x1025c670
mov ecx, 0x365
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.ERROR
mov ebx, ebp
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x10]
call fcn.101e5b00
lea ecx, [esp + 0xb4]
call fcn.101e5b00
lea ecx, [esp + 0x8c]
call fcn.101e5b00
lea ecx, [esp + 0xe0]
call fcn.101057c0
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x78]
call fcn.101e5b00
mov eax, dword [esp + 0xc8]
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x144
ret
mov ecx, dword [esp + 0x15c]
push edi
push ecx
push str._OUT__PubKey_Alg___s___sbits_
push 0x1025c670
mov ecx, 0x368
mov edi, str......._srcDSToolkitDSToolkit_Cert.cpp
mov edx, str.INFO
mov ebx, ebp
call fcn.1007a350
push str._OUT__PublicKey
push 0x1025c670
push edi
push ebp
lea eax, [esp + 0x98]
mov ecx, 0x369
mov edx, str.INFO
call fcn.1007a3b0
push str.FINISH...___
push 0x1025c670
mov ecx, 0x36a
mov edx, str.DEBUG
call fcn.1007a350
add esp, 0x28
lea ecx, [esp + 0x10]
call fcn.101e5b00
lea ecx, [esp + 0xb4]
call fcn.101e5b00
lea ecx, [esp + 0x8c]
call fcn.101e5b00
lea ecx, [esp + 0xe0]
call fcn.101057c0
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x78]
call fcn.101e5b00
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
add esp, 0x144
ret