Function at 0x100caa30
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x1024a818
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push ebp
push edi
mov eax, dword [0x102a8930]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
mov edi, ecx
mov ebp, dword [esp + 0x50]
xor ebx, ebx
mov dword [esp + 0x28], 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 + 0x44], ebx
mov eax, dword [edi + 0xc]
cmp eax, ebx
je 0x100caa8f
mov ecx, dword [edi + 4]
push ecx
push ebx
push eax
call fcn.10228aa0
add esp, 0xc
mov edx, dword [esp + 0x54]
mov dword [edi + 4], ebx
mov dword [edi + 0x10], ebx
mov eax, dword [edx + 0xc]
cmp eax, ebx
je 0x100caab0
mov ecx, edx
mov edx, dword [ecx + 4]
push edx
push ebx
push eax
call fcn.10228aa0
add esp, 0xc
mov eax, dword [esp + 0x54]
mov dword [eax + 4], ebx
mov dword [eax + 0x10], ebx
lea eax, [ebp + 0x204]
mov ecx, 0x1025edf0
call fcn.101e63c0
test al, al
je 0x100cae31
lea eax, [ebp + 0x218]
mov ecx, 0x1025caf4
call fcn.101e62f0
test al, al
je 0x100caafe
movzx eax, word [ebp + 0x22c]
mov ecx, dword [esi + 0x28c]
push edi
push eax
push ebx
push ecx
call fcn.100ab610
jmp 0x100cab2d
mov ecx, str.KCDSA
lea eax, [ebp + 0x218]
call fcn.101e62f0
test al, al
je 0x100caef3
movzx eax, word [ebp + 0x22c]
mov ecx, dword [esi + 0x28c]
push edi
push eax
push ecx
xor ecx, ecx
call fcn.100abcf0
mov edx, eax
mov dword [esp + 0x50], eax
cmp edx, ebx
je 0x100cac94
mov eax, dword [esi + 0x28c]
mov ecx, dword [eax + 0x1c]
add eax, 0x10
cmp ecx, ebx
je 0x100cab50
cmp dword [eax + 4], ebx
jne 0x100cab55
mov ecx, 0x1025bd4e
mov dword [esi + 0x21c], edx
cmp ecx, ebx
je 0x100cac58
mov dword [esp + 0x14], vtable.C3303::ByteString.0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x44], 2
push ecx
cmp dword [esp + 0x50], ebx
jne 0x100cab9a
push 0x1025bbc4
lea eax, [esp + 0x1c]
call fcn.101e6de0
add esp, 8
jmp 0x100cabb0
mov eax, dword [esp + 0x50]
push eax
push str.__s___s
lea eax, [esp + 0x20]
call fcn.101e6de0
add esp, 0xc
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cabc9
push eax
call fcn.102264a9
add esp, 4
mov dword [esi + 0x200], ebx
mov edi, dword [esp + 0x18]
cmp edi, ebx
jle 0x100cabf6
lea ecx, [edi + 1]
push ecx
call fcn.10226586
add esp, 4
mov dword [esi + 0x200], eax
cmp eax, ebx
jne 0x100cabf6
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], bl
call fcn.101e5b00
jmp 0x100cac58
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cac34
lea ebp, [edi + 1]
push ebp
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp eax, ebx
je 0x100cac1a
cmp edi, ebx
jne 0x100cac1f
mov eax, 0x1025bd4e
mov edx, dword [esi + 0x200]
push eax
push ebp
push edx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x100cabe7
mov byte [esp + 0x44], bl
mov edi, dword [esp + 0x20]
cmp edi, ebx
je 0x100cac58
mov eax, dword [esp + 0x1c]
push eax
push ebx
push edi
call fcn.10228aa0
add esp, 0xc
push edi
call fcn.1021b8de
add esp, 4
mov ecx, dword [esi + 0x200]
mov edx, dword [esp + 0x4c]
push ecx
push edx
mov ecx, 0x8ec
mov edi, str......._srcDSToolkitPKCS11DSToolkit_PKCS11.cpp
mov edx, str.ERROR
mov ebx, esi
call fcn.1007a350
mov eax, dword [esp + 0x58]
add esp, 8
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
add esp, 0x38
ret
mov eax, dword [esp + 0x58]
mov ecx, dword [esi + 0x28c]
push eax
push edi
call fcn.100af760
mov dword [esp + 0x50], eax
cmp eax, ebx
je 0x100cae21
mov eax, dword [esi + 0x28c]
mov ecx, dword [eax + 0x1c]
add eax, 0x10
cmp ecx, ebx
je 0x100cacc6
cmp dword [eax + 4], ebx
jne 0x100caccb
mov ecx, 0x1025bd4e
mov edx, dword [esp + 0x50]
mov dword [esi + 0x21c], edx
cmp ecx, ebx
je 0x100cadd4
mov dword [esp + 0x14], vtable.C3303::ByteString.0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x4c]
mov byte [esp + 0x44], 3
push ecx
cmp eax, ebx
jne 0x100cad16
push 0x1025bbc4
lea eax, [esp + 0x1c]
call fcn.101e6de0
add esp, 8
jmp 0x100cad28
push eax
push str.__s___s
lea eax, [esp + 0x20]
call fcn.101e6de0
add esp, 0xc
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cad41
push eax
call fcn.102264a9
add esp, 4
mov dword [esi + 0x200], ebx
mov edi, dword [esp + 0x18]
cmp edi, ebx
jle 0x100cad6e
lea eax, [edi + 1]
push eax
call fcn.10226586
add esp, 4
mov dword [esi + 0x200], eax
cmp eax, ebx
jne 0x100cad6e
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], bl
call fcn.101e5b00
jmp 0x100cadd4
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cadae
lea ebp, [edi + 1]
push ebp
push ebx
push eax
call fcn.10228aa0
add esp, 0xc
cmp dword [esp + 0x20], ebx
je 0x100cad94
mov eax, dword [esp + 0x20]
cmp edi, ebx
jne 0x100cad99
mov eax, 0x1025bd4e
mov ecx, dword [esi + 0x200]
push eax
push ebp
push ecx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x100cad5f
mov byte [esp + 0x44], bl
cmp dword [esp + 0x20], ebx
je 0x100cadd4
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
push edx
push ebx
push edi
call fcn.10228aa0
add esp, 0xc
push edi
call fcn.1021b8de
add esp, 4
mov eax, dword [esi + 0x200]
mov ecx, dword [esp + 0x4c]
push eax
push ecx
mov ecx, 0x8f1
mov edi, str......._srcDSToolkitPKCS11DSToolkit_PKCS11.cpp
mov edx, str.ERROR
mov ebx, esi
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x28]
mov dword [esp + 0x44], 0xffffffff
call fcn.101e5b00
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
add esp, 0x38
ret
mov edi, dword [esp + 0x58]
lea edx, [esp + 0x28]
push edx
mov ecx, ebp
call fcn.10120dd0
mov ecx, str.sign
lea eax, [ebp + 0x204]
call fcn.101e63c0
test al, al
je 0x100cb2c5
cmp byte [ebp + 0x274], 1
jne 0x100cb2c5
lea eax, [ebp + 0x218]
mov ecx, 0x1025caf4
call fcn.101e62f0
test al, al
je 0x100cb2e1
movzx eax, word [ebp + 0x22c]
mov edi, dword [esp + 0x54]
mov ecx, dword [esi + 0x28c]
push edi
push eax
push 1
push ecx
call fcn.100ab610
mov edx, eax
mov dword [esp + 0x50], edx
cmp edx, ebx
je 0x100cb13e
mov ecx, dword [esi + 0x28c]
add ecx, 0x10
call fcn.101e6430
mov dword [esi + 0x21c], edx
cmp eax, ebx
je 0x100cb0f1
mov dword [esp + 0x14], vtable.C3303::ByteString.0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x4c]
push eax
mov byte [esp + 0x48], 5
lea eax, [esp + 0x18]
cmp ecx, ebx
jne 0x100cb03b
push 0x1025bbc4
call fcn.101e6de0
add esp, 8
jmp 0x100cb049
mov dword [esi + 0x21c], ebx
mov dword [esp + 0x14], vtable.C3303::ByteString.0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x4c]
mov byte [esp + 0x44], 1
push str.Only_RSA__KCDSA__For_SIGN__supported.
cmp eax, ebx
jne 0x100caf36
push 0x1025bbc4
lea eax, [esp + 0x1c]
call fcn.101e6de0
add esp, 8
jmp 0x100caf48
push eax
push str.__s___s
lea eax, [esp + 0x20]
call fcn.101e6de0
add esp, 0xc
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100caf61
push eax
call fcn.102264a9
add esp, 4
mov dword [esi + 0x200], ebx
mov edi, dword [esp + 0x18]
cmp edi, ebx
jle 0x100caf8e
lea eax, [edi + 1]
push eax
call fcn.10226586
add esp, 4
mov dword [esi + 0x200], eax
cmp eax, ebx
jne 0x100caf8e
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], bl
call fcn.101e5b00
jmp 0x100caff0
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cafcc
lea ebp, [edi + 1]
push ebp
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp eax, ebx
je 0x100cafb2
cmp edi, ebx
jne 0x100cafb7
mov eax, 0x1025bd4e
mov ecx, dword [esi + 0x200]
push eax
push ebp
push ecx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x100caf7f
mov byte [esp + 0x44], bl
mov edi, dword [esp + 0x20]
cmp edi, ebx
je 0x100caff0
mov edx, dword [esp + 0x1c]
push edx
push ebx
push edi
call fcn.10228aa0
add esp, 0xc
push edi
call fcn.1021b8de
add esp, 4
mov eax, dword [esi + 0x200]
mov ecx, dword [esp + 0x4c]
push eax
push ecx
mov ecx, 0x8e9
mov edi, str......._srcDSToolkitPKCS11DSToolkit_PKCS11.cpp
mov edx, str.ERROR
mov ebx, esi
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x28]
mov dword [esp + 0x44], 0xffffffff
call fcn.101e5b00
xor eax, eax
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
add esp, 0x38
ret
push ecx
push str.__s___s
call fcn.101e6de0
add esp, 0xc
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cb062
push eax
call fcn.102264a9
add esp, 4
mov dword [esi + 0x200], ebx
mov edi, dword [esp + 0x18]
cmp edi, ebx
jle 0x100cb08f
lea edx, [edi + 1]
push edx
call fcn.10226586
add esp, 4
mov dword [esi + 0x200], eax
cmp eax, ebx
jne 0x100cb08f
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], bl
call fcn.101e5b00
jmp 0x100cb0f1
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cb0cd
lea ebp, [edi + 1]
push ebp
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp eax, ebx
je 0x100cb0b3
cmp edi, ebx
jne 0x100cb0b8
mov eax, 0x1025bd4e
push eax
mov eax, dword [esi + 0x200]
push ebp
push eax
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x100cb080
mov byte [esp + 0x44], bl
mov edi, dword [esp + 0x20]
cmp edi, ebx
je 0x100cb0f1
mov ecx, dword [esp + 0x1c]
push ecx
push ebx
push edi
call fcn.10228aa0
add esp, 0xc
push edi
call fcn.1021b8de
add esp, 4
mov edx, dword [esi + 0x200]
mov eax, dword [esp + 0x4c]
push edx
push eax
mov ecx, 0x900
mov edi, str......._srcDSToolkitPKCS11DSToolkit_PKCS11.cpp
mov edx, str.ERROR
mov ebx, esi
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x28]
mov dword [esp + 0x44], 0xffffffff
call fcn.101e5b00
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
add esp, 0x38
ret
mov ecx, dword [esp + 0x5c]
push ecx
mov ecx, dword [esi + 0x28c]
push edi
call fcn.100af760
mov edx, eax
mov dword [esp + 0x50], edx
cmp edx, ebx
je 0x100cb2b5
mov ecx, dword [esi + 0x28c]
add ecx, 0x10
call fcn.101e6430
mov dword [esi + 0x21c], edx
cmp eax, ebx
je 0x100cb268
mov dword [esp + 0x14], vtable.C3303::ByteString.0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x4c]
push eax
mov byte [esp + 0x48], 6
lea eax, [esp + 0x18]
cmp ecx, ebx
jne 0x100cb1b2
push 0x1025bbc4
call fcn.101e6de0
add esp, 8
jmp 0x100cb1c0
push ecx
push str.__s___s
call fcn.101e6de0
add esp, 0xc
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cb1d9
push eax
call fcn.102264a9
add esp, 4
mov dword [esi + 0x200], ebx
mov edi, dword [esp + 0x18]
cmp edi, ebx
jle 0x100cb206
lea edx, [edi + 1]
push edx
call fcn.10226586
add esp, 4
mov dword [esi + 0x200], eax
cmp eax, ebx
jne 0x100cb206
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], bl
call fcn.101e5b00
jmp 0x100cb268
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cb244
lea ebp, [edi + 1]
push ebp
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp eax, ebx
je 0x100cb22a
cmp edi, ebx
jne 0x100cb22f
mov eax, 0x1025bd4e
push eax
mov eax, dword [esi + 0x200]
push ebp
push eax
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x100cb1f7
mov byte [esp + 0x44], bl
mov edi, dword [esp + 0x20]
cmp edi, ebx
je 0x100cb268
mov ecx, dword [esp + 0x1c]
push ecx
push ebx
push edi
call fcn.10228aa0
add esp, 0xc
push edi
call fcn.1021b8de
add esp, 4
mov edx, dword [esi + 0x200]
mov eax, dword [esp + 0x4c]
push edx
push eax
mov ecx, 0x905
mov edi, str......._srcDSToolkitPKCS11DSToolkit_PKCS11.cpp
mov edx, str.ERROR
mov ebx, esi
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x28]
mov dword [esp + 0x44], 0xffffffff
call fcn.101e5b00
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
add esp, 0x38
ret
mov edi, dword [esp + 0x5c]
lea ecx, [esp + 0x28]
push ecx
mov ecx, ebp
call fcn.10120ed0
mov byte [ebp + 0x290], 1
xor eax, eax
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
add esp, 0x38
ret
mov dword [esi + 0x21c], ebx
mov dword [esp + 0x14], vtable.C3303::ByteString.0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x4c]
mov byte [esp + 0x44], 4
push str.Only_RSA__For_KM__supported.
cmp eax, ebx
jne 0x100cb324
push 0x1025bbc4
lea eax, [esp + 0x1c]
call fcn.101e6de0
add esp, 8
jmp 0x100cb336
push eax
push str.__s___s
lea eax, [esp + 0x20]
call fcn.101e6de0
add esp, 0xc
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cb34f
push eax
call fcn.102264a9
add esp, 4
mov dword [esi + 0x200], ebx
mov edi, dword [esp + 0x18]
cmp edi, ebx
jle 0x100cb37c
lea edx, [edi + 1]
push edx
call fcn.10226586
add esp, 4
mov dword [esi + 0x200], eax
cmp eax, ebx
jne 0x100cb37c
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], bl
call fcn.101e5b00
jmp 0x100cb3de
mov eax, dword [esi + 0x200]
cmp eax, ebx
je 0x100cb3ba
lea ebp, [edi + 1]
push ebp
push ebx
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp eax, ebx
je 0x100cb3a0
cmp edi, ebx
jne 0x100cb3a5
mov eax, 0x1025bd4e
push eax
mov eax, dword [esi + 0x200]
push ebp
push eax
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x100cb36d
mov byte [esp + 0x44], bl
mov edi, dword [esp + 0x20]
cmp edi, ebx
je 0x100cb3de
mov ecx, dword [esp + 0x1c]
push ecx
push ebx
push edi
call fcn.10228aa0
add esp, 0xc
push edi
call fcn.1021b8de
add esp, 4
mov edx, dword [esi + 0x200]
mov eax, dword [esp + 0x4c]
push edx
push eax
mov ecx, 0x8fd
mov edi, str......._srcDSToolkitPKCS11DSToolkit_PKCS11.cpp
mov edx, str.ERROR
mov ebx, esi
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x28]
mov dword [esp + 0x44], 0xffffffff
call fcn.101e5b00
xor eax, eax
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
add esp, 0x38
ret