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

Disassembly:
push 0xffffffffffffffff
push 0x1024bccd
mov eax, dword fs:[0]
push eax
sub esp, 0x918
push ebx
push ebp
push esi
push edi
mov eax, dword [0x102a8930]
xor eax, esp
push eax
lea eax, [esp + 0x92c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x93c]
lea esi, [esp + 0x1fc]
mov dword [ebp + 0x34], str.encrypt
call fcn.101778f0
lea eax, [esp + 0x240]
mov dword [esp + method.RSubjectPublicKeyInfo.virtual_0], vtable.RSubjectPublicKeyInfo.0
call fcn.10177180
lea eax, [esp + 0x300]
call fcn.1017c4f0
mov ebx, 0x1025bd4e
mov dword [esp + method.ASN1BitString.virtual_0], vtable.ASN1BitString.0
mov dword [esp + 0x35c], str.ASN1BitString
mov dword [esp + 0x360], ebx
mov byte [esp + 0x304], 3
mov dword [esp + 0x238], str.RSubjectPublicKeyInfo
mov dword [esp + 0x23c], ebx
mov eax, dword [esp + 0x940]
xor esi, esi
mov dword [esp + 0x934], esi
mov ecx, dword [eax + 4]
cmp dword [eax + 8], esi
jne 0x10157102
mov eax, ebx
jmp 0x10157105
mov eax, dword [eax + 0xc]
push 1
push ecx
push eax
lea edi, [esp + 0x208]
call fcn.10178c00
test eax, eax
jle 0x10157170
mov eax, dword [esp + 0x230]
cmp eax, esi
je 0x1015712d
cmp dword [esp + 0x228], esi
jne 0x1015712f
mov eax, ebx
mov ecx, dword [ebp + 0x30]
push eax
mov eax, dword [ebp + 0x34]
push 1
push str.pubKeyInfo
push eax
push ecx
push 0x250
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 1
jmp 0x101589cc
mov dword [esp + 0x28], vtable.C3303::ByteString.0
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
lea ebx, [esp + 0x240]
mov byte [esp + 0x934], 1
call fcn.101773b0
mov edi, eax
lea esi, [esp + 0x28]
call fcn.101e5f90
xor ebx, ebx
cmp dword [esp + 0x244], ebx
jle 0x10157237
mov eax, dword [esp + 0x230]
cmp eax, ebx
je 0x101571ca
cmp dword [esp + 0x228], ebx
jne 0x101571cf
mov eax, 0x1025bd4e
mov edx, dword [ebp + 0x34]
push eax
mov eax, dword [ebp + 0x30]
push 2
push str.pubKeyInfo
push edx
push eax
push 0x256
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
mov byte [esp + 0x934], bl
mov esi, dword [esp + 0x34]
cmp esi, ebx
je 0x10157216
mov ecx, dword [esp + 0x30]
push ecx
push ebx
push esi
call fcn.10228aa0
add esp, 0xc
push esi
call fcn.1021b8de
add esp, 4
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 2
jmp 0x101589cc
mov ecx, str.1_2_840_10045_2_1
lea eax, [esp + 0x28]
call fcn.101e63c0
test al, al
je 0x101572b0
mov ecx, str.1_2_840_10046_2_1
lea eax, [esp + 0x28]
call fcn.101e63c0
test al, al
je 0x101572b0
mov edx, dword [ebp + 0x34]
mov eax, dword [ebp + 0x30]
push str.Only_support_for_ECDH_and_DH_Algorithm.
push 3
push str.bsPubKeyAlgorithm
push edx
push eax
push 0x259
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 3
jmp 0x101589cc
mov edi, vtable.C3303::ByteString.0
mov dword [esp + 0x64], edi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
lea esi, [esp + 0xc8]
call fcn.100e2e80
mov esi, vtable.PPrivateKey.0
mov dword [esp + 0xc8], esi
mov dword [esp + 0xf8], str.PPrivateKey
mov dword [esp + 0xfc], 0x1025bd4e
mov edx, dword [esp + 0x940]
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x948]
push edx
lea eax, [esp + 0xd0]
push eax
mov byte [esp + 0x940], 3
call fcn.100dd960
test eax, eax
jle 0x101573be
mov eax, dword [esp + 0xf0]
cmp eax, ebx
je 0x1015733c
cmp dword [esp + 0xe8], ebx
jne 0x10157341
mov eax, 0x1025bd4e
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x30]
push eax
push 4
push str.privateKey
push ecx
push edx
push 0x260
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], esi
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 4
jmp 0x101589cc
mov dword [esp + 0x3c], edi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x948]
lea eax, [ecx - 0xbc3]
mov byte [esp + 0x934], 4
mov dword [esp + 0x1c], ebx
cmp eax, 0x2b
ja case.0x101573fb.3012
movzx eax, byte [eax + 0x10158a00]
jmp dword [eax*4 + 0x101589e8]
lea ecx, [esp + 0x3c]
push ecx
mov edx, str.1_2_840_113549_1_9_16_3_6
call fcn.101e5eb0
mov dword [esp + 0x20], 0x18
jmp 0x1015747d
lea edx, [esp + 0x3c]
push edx
mov edx, str.1_2_840_113549_1_9_16_3_7
call fcn.101e5eb0
mov dword [esp + 0x20], 5
jmp 0x1015747d
lea eax, [esp + 0x3c]
push eax
mov edx, str.1_2_840_113549_1_9_16_3_7
call fcn.101e5eb0
mov dword [esp + 0x20], 8
jmp 0x1015747d
lea ecx, [esp + 0x3c]
push ecx
mov edx, str.1_2_840_113549_1_9_16_3_7
call fcn.101e5eb0
mov dword [esp + 0x20], 0x10
jmp 0x1015747d
lea edx, [esp + 0x3c]
push edx
mov edx, str.1_2_840_113549_1_9_16_3_7
call fcn.101e5eb0
mov dword [esp + 0x20], 0x20
mov al, byte [esp + 0x20]
add al, al
add al, al
add al, al
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1f], al
push ecx
mov edi, 4
lea eax, [esp + 0xb8]
call fcn.101e5aa0
mov dword [esp + 0x78], vtable.C3303::ByteString.0
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov eax, 0x66666667
imul dword [esp + 0x20]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x24], eax
inc eax
mov dword [esp + 0x18], eax
mov ecx, str.1_2_840_10046_2_1
lea eax, [esp + 0x28]
call fcn.101e62f0
test al, al
je 0x10157dae
lea eax, [esp + 0x704]
call fcn.1018ec50
lea eax, [esp + 0x424]
call fcn.10185d80
lea eax, [esp + 0x3c]
lea esi, [esp + 0x424]
mov byte [esp + 0x934], 9
call fcn.10185e80
test eax, eax
jle 0x10157610
lea ecx, [esp + 0x44c]
call fcn.101e6430
mov edx, dword [ebp + 0x34]
push eax
mov eax, dword [ebp + 0x30]
push 6
push str.keyInfo
push edx
push eax
push 0x29f
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
mov ecx, esi
mov byte [esp + 0x934], 8
call fcn.10185e00
lea ecx, [esp + 0x704]
mov byte [esp + 0x934], 7
call fcn.1018ecf0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
lea eax, [edi + 2]
jmp 0x101589cc
mov ecx, dword [esp + 0x94c]
mov eax, dword [ecx + 4]
cmp eax, ebx
je 0x1015771a
cmp eax, 0x40
je 0x1015770e
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x30]
push str.partAInfo_MUST_contain_512_bits.
push 7
push str.bsUKM
push ecx
push edx
push 0x2a4
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0x424]
mov byte [esp + 0x934], 8
call fcn.10185e00
lea ecx, [esp + 0x704]
mov byte [esp + 0x934], 7
call fcn.1018ecf0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 7
jmp 0x101589cc
lea edi, [esp + 0x704]
call fcn.1018ee50
lea ecx, [esp + 0xb4]
lea eax, [esp + 0x704]
call fcn.1018ee80
cmp dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
jle 0x10157941
jmp 0x10157740
mov al, byte [esp + 0x1c]
inc al
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b], al
push ecx
mov edi, 4
lea eax, [esp + 0x54]
call fcn.101e5aa0
mov byte [esp + 0x934], 0xa
mov eax, dword [esp + 0x4cc]
lea edx, [esp + 0x50]
push edx
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0x4d0]
mov dword [esp + 0x468], 0x10275aa4
call edx
test eax, eax
jle 0x101577a4
lea eax, [esp + 0x424]
call fcn.10185ef0
cmp eax, ebx
jg 0x1015796e
lea eax, [esp + 0x704]
push eax
lea eax, [esp + 0x428]
call fcn.1018ed80
test eax, eax
jg 0x10157a6a
mov dword [esp + 0xa0], vtable.C3303::ByteString.0
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
lea ecx, [esp + 0x704]
push ecx
mov byte [esp + 0x938], 0xb
call fcn.1018eeb0
mov edi, eax
lea esi, [esp + 0xa0]
call fcn.101e5f90
cmp dword [esp + 0x708], ebx
jg 0x10157b66
mov ebx, esi
lea esi, [esp + 0x64]
call fcn.101e61b0
xor ebx, ebx
mov dword [esp + 0x8c], vtable.C3303::ByteString.0
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
lea eax, [esp + 0x100]
call fcn.101e16a0
push 1
mov edx, eax
push 0x3f3
push edx
lea edx, [esp + 0x98]
mov eax, esi
mov byte [esp + 0x940], 0xd
call fcn.101e1750
test eax, eax
jg 0x10157c76
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
inc edi
inc eax
mov dword [esp + 0x18], edi
cmp edi, eax
je 0x101578a3
lea ebx, [esp + 0x8c]
lea esi, [esp + 0x78]
call fcn.101e61b0
jmp 0x101578e1
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
sub edi, eax
mov eax, 0x1025bd4e
cmp dword [esp + 0x94], ebx
je 0x101578c9
mov eax, dword [esp + 0x98]
lea esi, [ebp + 8]
push eax
call fcn.101e5d60
mov ebx, esi
lea esi, [esp + 0x78]
call fcn.101e61b0
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x100]
mov byte [esp + 0x934], 0xc
call fcn.101e16f0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x934], 0xb
call fcn.101e5b00
lea ecx, [esp + 0xa0]
mov byte [esp + 0x934], 0xa
call fcn.101e5b00
lea ecx, [esp + 0x50]
mov byte [esp + 0x934], 9
call fcn.101e5b00
mov eax, dword [esp + 0x24]
inc eax
xor ebx, ebx
cmp edi, eax
mov dword [esp + 0x1c], edi
jl 0x10157740
lea ecx, [esp + 0x424]
mov byte [esp + 0x934], 8
call fcn.10185e00
lea ecx, [esp + 0x704]
mov byte [esp + 0x934], 7
call fcn.1018ecf0
jmp 0x101584c0
lea ecx, [esp + 0x44c]
call fcn.101e6430
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x30]
push eax
push 8
push str.keyInfo
push ecx
push edx
push 0x2b4
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0x50]
mov byte [esp + 0x934], 9
call fcn.101e5b00
lea ecx, [esp + 0x424]
mov byte [esp + 0x934], 8
call fcn.10185e00
lea ecx, [esp + 0x704]
mov byte [esp + 0x934], 7
call fcn.1018ecf0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 8
jmp 0x101589cc
lea ecx, [esp + 0x72c]
call fcn.101e6430
mov ecx, dword [ebp + 0x30]
push eax
mov eax, dword [ebp + 0x34]
push 9
push str.otherInfo
push eax
push ecx
push 0x2b7
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0x50]
mov byte [esp + 0x934], 9
call fcn.101e5b00
lea ecx, [esp + 0x424]
mov byte [esp + 0x934], 8
call fcn.10185e00
lea ecx, [esp + 0x704]
mov byte [esp + 0x934], 7
call fcn.1018ecf0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 9
jmp 0x101589cc
lea ecx, [esp + 0x72c]
call fcn.101e6430
mov edx, dword [ebp + 0x34]
push eax
mov eax, dword [ebp + 0x30]
push 0xa
push str.otherInfo
push edx
push eax
push 0x2bc
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0xa0]
mov byte [esp + 0x934], 0xa
call fcn.101e5b00
lea ecx, [esp + 0x50]
mov byte [esp + 0x934], 9
call fcn.101e5b00
lea ecx, [esp + 0x424]
mov byte [esp + 0x934], 8
call fcn.10185e00
lea ecx, [esp + 0x704]
mov byte [esp + 0x934], 7
call fcn.1018ecf0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 0xa
jmp 0x101589cc
lea ecx, [esp + 0x108]
call fcn.101e6430
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x30]
push eax
push 0xb
push str.hash
push ecx
push edx
push 0x2c3
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0x100]
mov byte [esp + 0x934], 0xc
call fcn.101e16f0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x934], 0xb
call fcn.101e5b00
lea ecx, [esp + 0xa0]
mov byte [esp + 0x934], 0xa
call fcn.101e5b00
lea ecx, [esp + 0x50]
mov byte [esp + 0x934], 9
call fcn.101e5b00
lea ecx, [esp + 0x424]
mov byte [esp + 0x934], 8
call fcn.10185e00
lea ecx, [esp + 0x704]
mov byte [esp + 0x934], 7
call fcn.1018ecf0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 0xb
jmp 0x101589cc
lea eax, [esp + 0x534]
call fcn.1018d000
lea eax, [esp + 0x364]
call fcn.10177180
push ebx
lea eax, [esp + 0x40]
lea esi, [esp + 0x368]
mov byte [esp + 0x938], 0xf
call fcn.101772b0
test eax, eax
jle 0x10157ecd
lea ecx, [esp + 0x38c]
call fcn.101e6430
mov ecx, dword [ebp + 0x30]
push eax
mov eax, dword [ebp + 0x34]
push 0xc
push str.keyInfo
push eax
push ecx
push 0x2d6
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
mov ecx, esi
mov byte [esp + 0x934], 0xe
call fcn.10177200
lea ecx, [esp + 0x534]
mov byte [esp + 0x934], 7
call fcn.1018d0a0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 0xc
jmp 0x101589cc
lea eax, [esp + 0x144]
call fcn.10184d50
mov ecx, eax
mov byte [esp + 0x934], 0x10
call fcn.1017c650
mov edi, eax
lea esi, [esp + 0x410]
call fcn.101e5f90
or byte [esp + 0x3a8], 1
lea edx, [esp + 0x534]
push edx
lea eax, [esp + 0x368]
call fcn.1018d130
test eax, eax
jle 0x10158024
lea ecx, [esp + 0x55c]
call fcn.101e6430
mov ecx, dword [ebp + 0x30]
push eax
mov eax, dword [ebp + 0x34]
push 0xd
push str.sharedInfo
push eax
push ecx
push 0x2dc
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
mov byte [esp + 0x934], 0xf
lea ecx, [esp + 0x144]
mov dword [esp + method.ASN1Null.virtual_0], vtable.ASN1Null.0
call fcn.1017c580
lea ecx, [esp + 0x364]
mov byte [esp + 0x934], 0xe
call fcn.10177200
lea ecx, [esp + 0x534]
mov byte [esp + 0x934], 7
call fcn.1018d0a0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 0xd
jmp 0x101589cc
mov ecx, dword [esp + 0x94c]
mov eax, dword [ecx + 4]
cmp eax, ebx
je 0x1015814d
cmp eax, 0x40
je 0x10158141
mov edx, dword [ebp + 0x34]
mov eax, dword [ebp + 0x30]
push str.partAInfo_MUST_contain_512_bits.
push 0xe
push str.bsUKM
push edx
push eax
push 0x2e2
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
mov byte [esp + 0x934], 0xf
lea ecx, [esp + 0x144]
mov dword [esp + method.ASN1Null.virtual_0], vtable.ASN1Null.0
call fcn.1017c580
lea ecx, [esp + 0x364]
mov byte [esp + 0x934], 0xe
call fcn.10177200
lea ecx, [esp + 0x534]
mov byte [esp + 0x934], 7
call fcn.1018d0a0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 0xe
jmp 0x101589cc
lea edi, [esp + 0x534]
call fcn.1018d200
lea ecx, [esp + 0xb4]
lea eax, [esp + 0x534]
call fcn.1018d230
mov dword [esp + 0x50], vtable.C3303::ByteString.0
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
lea ecx, [esp + 0x534]
push ecx
mov byte [esp + 0x938], 0x11
call fcn.1018d260
mov edi, eax
lea esi, [esp + 0x50]
call fcn.101e5f90
cmp dword [esp + 0x538], ebx
jle 0x101582be
lea ecx, [esp + 0x55c]
call fcn.101e6430
mov edx, dword [ebp + 0x34]
push eax
mov eax, dword [ebp + 0x30]
push 0xf
push str.sharedInfo
push edx
push eax
push 0x2ed
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
mov ecx, esi
mov byte [esp + 0x934], 0x10
call fcn.101e5b00
mov byte [esp + 0x934], 0xf
lea ecx, [esp + 0x144]
mov dword [esp + method.ASN1Null.virtual_0], vtable.ASN1Null.0
call fcn.1017c580
lea ecx, [esp + 0x364]
mov byte [esp + 0x934], 0xe
call fcn.10177200
lea ecx, [esp + 0x534]
mov byte [esp + 0x934], 7
call fcn.1018d0a0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 0xf
jmp 0x101589cc
cmp dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
jle 0x10158468
lea esp, [esp]
mov cl, byte [esp + 0x1c]
lea edx, [esp + 0x18]
inc cl
mov dword [esp + 0x18], ebx
push edx
mov edi, 4
lea eax, [esp + 0x134]
mov byte [esp + 0x1f], cl
call fcn.101e5aa0
mov dword [esp + 0xa0], vtable.C3303::ByteString.0
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
lea edi, [esp + 0x64]
lea esi, [esp + 0xa0]
mov byte [esp + 0x934], 0x13
call fcn.101e5f90
lea ebx, [esp + 0x130]
call fcn.101e61b0
lea ebx, [esp + 0x50]
call fcn.101e61b0
xor ebx, ebx
mov dword [esp + 0x8c], vtable.C3303::ByteString.0
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
lea eax, [esp + 0x100]
call fcn.101e16a0
push 1
push 0x3f3
push eax
lea edx, [esp + 0x98]
mov eax, esi
mov byte [esp + 0x940], 0x15
call fcn.101e1750
test eax, eax
jg 0x101585f0
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
inc edi
inc eax
mov dword [esp + 0x18], edi
cmp edi, eax
je 0x101583c7
lea ebx, [esp + 0x8c]
lea esi, [esp + 0x78]
call fcn.101e61b0
jmp 0x10158405
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
lea ecx, [eax + eax*4]
add ecx, ecx
add ecx, ecx
sub edi, ecx
mov eax, 0x1025bd4e
cmp dword [esp + 0x94], ebx
je 0x101583ed
mov eax, dword [esp + 0x98]
lea esi, [ebp + 8]
push eax
call fcn.101e5d60
mov ebx, esi
lea esi, [esp + 0x78]
call fcn.101e61b0
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x100]
mov byte [esp + 0x934], 0x14
call fcn.101e16f0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x934], 0x13
call fcn.101e5b00
lea ecx, [esp + 0xa0]
mov byte [esp + 0x934], 0x12
call fcn.101e5b00
lea ecx, [esp + 0x130]
mov byte [esp + 0x934], 0x11
call fcn.101e5b00
mov eax, dword [esp + 0x24]
inc eax
xor ebx, ebx
cmp edi, eax
mov dword [esp + 0x1c], edi
jl 0x101582d0
lea ecx, [esp + 0x50]
mov byte [esp + 0x934], 0x10
call fcn.101e5b00
mov byte [esp + 0x934], 0xf
lea ecx, [esp + 0x144]
mov dword [esp + method.ASN1Null.virtual_0], vtable.ASN1Null.0
call fcn.1017c580
lea ecx, [esp + 0x364]
mov byte [esp + 0x934], 0xe
call fcn.10177200
lea ecx, [esp + 0x534]
mov byte [esp + 0x934], 7
call fcn.1018d0a0
lea eax, [esp + 0x1ac]
call fcn.10188250
lea edi, [esp + 0x78]
lea esi, [esp + 0x1e4]
mov byte [esp + 0x934], 0x16
call fcn.101e5f90
mov eax, dword [esp + 0x948]
mov ecx, dword [esp + 0x954]
mov edx, dword [esp + 0x950]
push ecx
cmp eax, 0xbc3
jne 0x1015875b
push edx
lea eax, [esp + 0x1b4]
push eax
call fcn.10188340
test eax, eax
jle 0x10158849
lea ecx, [esp + 0x1c8]
call fcn.101e6430
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x30]
push eax
push 0x11
push str.kekAlgorithm
push ecx
push edx
push 0x314
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x934], 7
call fcn.101882b0
mov ecx, edi
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 0x11
jmp 0x101589cc
lea ecx, [esp + 0x108]
call fcn.101e6430
mov edx, dword [ebp + 0x34]
push eax
mov eax, dword [ebp + 0x30]
push 0x10
push str.hash
push edx
push eax
push 0x301
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0x100]
mov byte [esp + 0x934], 0x14
call fcn.101e16f0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x934], 0x13
call fcn.101e5b00
lea ecx, [esp + 0xa0]
mov byte [esp + 0x934], 0x12
call fcn.101e5b00
lea ecx, [esp + 0x130]
mov byte [esp + 0x934], 0x11
call fcn.101e5b00
lea ecx, [esp + 0x50]
mov byte [esp + 0x934], 0x10
call fcn.101e5b00
mov byte [esp + 0x934], 0xf
lea ecx, [esp + 0x144]
mov dword [esp + method.ASN1Null.virtual_0], vtable.ASN1Null.0
call fcn.1017c580
lea ecx, [esp + 0x364]
mov byte [esp + 0x934], 0xe
call fcn.10177200
lea ecx, [esp + 0x534]
mov byte [esp + 0x934], 7
call fcn.1018d0a0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 0x10
jmp 0x101589cc
push eax
push edx
lea eax, [esp + 0x1b8]
push eax
call fcn.10189c70
test eax, eax
jle 0x10158849
lea ecx, [esp + 0x1c8]
call fcn.101e6430
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x30]
push eax
push 0x12
push str.kekAlgorithm
push ecx
push edx
push 0x319
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x934], 7
call fcn.101882b0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 0x12
jmp 0x101589cc
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x934], 7
call fcn.101882b0
lea ecx, [esp + 0x78]
mov byte [esp + 0x934], 6
call fcn.101e5b00
lea ecx, [esp + 0xb4]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], vtable.PPrivateKey.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
xor eax, eax
jmp 0x101589cc
mov dword [esp + 0x50], edi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
push ecx
push str.nSymmetricAlg__d__is_not_supported.
lea eax, [esp + 0x58]
mov byte [esp + 0x93c], 5
call fcn.101e6de0
mov eax, dword [esp + 0x64]
add esp, 8
cmp eax, ebx
je 0x1015892d
cmp dword [esp + 0x54], ebx
jne 0x10158932
mov eax, 0x1025bd4e
mov ecx, dword [ebp + 0x30]
push eax
mov eax, dword [ebp + 0x34]
push 5
push str.nSymmetricAlg
push eax
push ecx
push 0x28f
push ebp
mov ecx, str......._srcDSProcessPPublicKey.cpp
call fcn.100e2fd0
lea ecx, [esp + 0x50]
mov byte [esp + 0x934], 4
call fcn.101e5b00
lea ecx, [esp + 0x3c]
mov byte [esp + 0x934], 3
call fcn.101e5b00
mov byte [esp + 0x934], 2
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], esi
call fcn.100e2f20
lea ecx, [esp + 0x64]
mov byte [esp + 0x934], 1
call fcn.101e5b00
lea ecx, [esp + 0x28]
mov byte [esp + 0x934], bl
call fcn.101e5b00
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x934], 0xffffffff
call fcn.101787d0
mov eax, 5
mov ecx, dword [esp + 0x92c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x924
ret 0x1c