Function at 0x419140
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42131d
mov eax, dword fs:[0]
push eax
sub esp, 0x1fc
mov eax, dword [0x433fbc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [ebp - 0x10c], eax
mov al, 1
mov byte [ebp - 0x1f0], al
xor al, al
mov byte [ebp - 0x1f8], al
mov byte [ebp - 0x151], al
mov byte [ebp - 0x116], al
mov byte [ebp - 0x115], al
mov byte [ebp - 0x112], al
mov byte [ebp - 0x113], al
mov byte [ebp - 0x11c], al
mov byte [ebp - 0x11d], al
mov byte [ebp - 0x11a], al
mov byte [ebp - 0x118], al
mov byte [ebp - 0x119], al
mov byte [ebp - 0x16f], al
mov byte [ebp - 0x170], al
mov byte [ebp - 0x125], al
mov byte [ebp - 0x16d], al
mov byte [ebp - 0x117], al
xor eax, eax
mov byte [ebp - 0x16e], 0
mov byte [ebp - 0x102], 0
mov byte [ebp - 0x11b], 0
mov byte [ebp - 0x111], 0
mov dword [ebp - 0x1fc], 0
mov byte [ebp - 0x114], 0
mov dword [ebp - 0x1a8], 0
mov byte [ebp - 0x172], 0
mov byte [ebp - 0x12c], 0
mov byte [ebp - 0x171], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c4], 0x10
mov dword [ebp - 0x1e0], 0x20
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x150], 0xffffffff
mov dword [ebp - 0x16c], edi
mov dword [ebp - 0x1ec], edi
mov dword [ebp - 0x1e8], edi
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x1e4], eax
cmp dword [ebp + 8], 1
mov dword [ebp - 0x110], eax
mov dword [ebp - 4], eax
setle byte [ebp - 0x101]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x110], eax
mov byte [0x434338], al
mov dword [ebp - 0x1d4], eax
call fcn.00403a00
mov ecx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov esi, 1
cmp dword [ebp + 8], esi
mov dword [ebp - 0x108], ecx
jle 0x41a482
nop word [eax + eax]
cmp byte [ebp - 0x101], 0
jne 0x41a4f0
mov eax, dword [ebp - 0x10c]
lea edi, [esi + 1]
push 0x4281c8
push str._slots
mov dword [ebp - 0x180], edi
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419563
cmp dword [ebp + 8], edi
jle 0x419563
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
mov esi, dword [eax + esi*4 + 4]
mov byte [ebp - 4], 1
test esi, esi
jne 0x419414
mov byte [ebp - 4], 0
mov esi, edi
mov byte [ebp - 0x117], 0
jmp 0x41a466
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419420
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea ecx, [ebp - 0x138]
call fcn.0040a4a0
mov edi, dword [ebp - 0x138]
mov ecx, esi
mov edx, edi
mov dword [ebp - 0x16c], edi
sub edx, esi
nop word [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x419450
xor eax, eax
push 0x4280ac
push esi
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strtok]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x168], eax
call esi
add esp, 8
test eax, eax
je 0x4194f9
mov edi, dword [ebp - 0x1e8]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x168], eax
cmp edi, dword [ebp - 0x160]
je 0x4194ab
mov dword [edi], eax
add edi, 4
mov dword [ebp - 0x1e8], edi
jmp 0x4194d0
lea eax, [ebp - 0x168]
push eax
push edi
lea ecx, [ebp - 0x1ec]
call fcn.00401570
mov eax, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1e8]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x1a4]
inc eax
push 0x4280ac
push 0
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x168], eax
call esi
add esp, 8
test eax, eax
jne 0x419486
mov edi, dword [ebp - 0x16c]
mov byte [ebp - 4], 0
test edi, edi
je 0x41954f
mov ecx, dword [ebp - 0x130]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x419527
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a67e
push ecx
push edi
call fcn.0041e5a7
add esp, 8
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
mov edi, dword [ebp - 0x180]
mov esi, edi
mov byte [ebp - 0x117], 1
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x4281d4
push str._nslots
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x4195c9
cmp dword [ebp + 8], edi
jle 0x4195c9
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x1ec]
push eax
mov eax, dword [ebp - 0x10c]
push dword [eax + esi*4 + 4]
call fcn.00418e00
mov byte [ebp - 0x117], al
mov esi, edi
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x1a4], eax
jmp 0x41a463
mov eax, dword [ebp - 0x10c]
push 0x4281e0
push str._mode
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41964b
cmp dword [ebp + 8], edi
jle 0x41964b
mov eax, dword [ebp - 0x10c]
sub esp, 0x18
mov edx, esp
mov byte [ebp - 0x16d], 1
mov esi, dword [eax + esi*4 + 4]
mov ecx, esi
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419620
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.004037e0
call fcn.00409e20
mov esi, dword [ebp - 0x180]
add esp, 0x18
mov dword [ebp - 0x150], eax
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x4281ec
push str._key
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x4196e0
cmp dword [ebp + 8], edi
jle 0x4196e0
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x4196d2
cmp byte [eax], 0x30
jne 0x4196b5
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x41968f
cmp cl, 0x58
jne 0x4196b5
push 0x432904
add eax, 2
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x102]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x432904], eax
mov byte [ebp - 0x102], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x102], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._kde
push str._keyderiv
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419775
cmp dword [ebp + 8], edi
jle 0x419775
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x419767
cmp byte [eax], 0x30
jne 0x41974a
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x419724
cmp cl, 0x58
jne 0x41974a
push 0x432910
add eax, 2
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x11b]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x432910], eax
mov byte [ebp - 0x11b], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x11b], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x42820c
push str._usage
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41980b
cmp dword [ebp + 8], edi
jle 0x41980b
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x4197fd
cmp byte [eax], 0x30
jne 0x4197e0
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x4197b9
cmp cl, 0x58
jne 0x4197e0
push 0x434538
add eax, 2
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne al
mov byte [0x434319], al
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [0x434538], eax
add esp, 4
mov al, 1
mov esi, edi
mov byte [0x434319], al
jmp 0x41a466
xor al, al
mov esi, edi
mov byte [0x434319], al
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._sub
push str._subprime
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x4198a0
cmp dword [ebp + 8], edi
jle 0x4198a0
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x419892
cmp byte [eax], 0x30
jne 0x419875
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x41984f
cmp cl, 0x58
jne 0x419875
push 0x43290c
add eax, 2
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x111]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x43290c], eax
mov byte [ebp - 0x111], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x111], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x42822c
push str._packet
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419938
cmp dword [ebp + 8], edi
jle 0x419938
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x41992a
cmp byte [eax], 0x30
jne 0x41990c
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x4198e4
cmp cl, 0x58
jne 0x41990c
lea ecx, [ebp - 0x1a8]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x114]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 0x114], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x114], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._nvr
push str._noverifyr
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419969
cmp dword [ebp + 8], esi
jle 0x419969
xor al, al
mov byte [ebp - 0x1f0], al
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._msig
push str._multipartsig
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419999
cmp dword [ebp + 8], esi
jle 0x419999
mov byte [ebp - 0x172], 1
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x428264
push str._nodestroy
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x4199c9
cmp dword [ebp + 8], esi
jle 0x4199c9
mov byte [ebp - 0x16e], 1
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._nod
push str._nodec
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x4199f9
cmp dword [ebp + 8], esi
jle 0x4199f9
mov byte [0x4328fd], 0
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._noe
push str._noenc
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419a29
cmp dword [ebp + 8], esi
jle 0x419a29
mov byte [0x4328fc], 0
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._nos
push str._nosign
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419a59
cmp dword [ebp + 8], esi
jle 0x419a59
mov byte [0x4328fe], 0
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._nov
push str._noverify
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419a89
cmp dword [ebp + 8], esi
jle 0x419a89
mov byte [0x4328ff], 0
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._now
push str._nowrap
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419ab9
cmp dword [ebp + 8], esi
jle 0x419ab9
mov byte [0x432900], 0
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._nou
push str._nounwrap
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419ae9
cmp dword [ebp + 8], esi
jle 0x419ae9
mov byte [0x432901], 0
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x4282dc
push str._logfile
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419b2b
cmp dword [ebp + 8], edi
jle 0x419b2b
mov eax, dword [ebp - 0x10c]
mov byte [ebp - 0x170], 1
mov eax, dword [eax + esi*4 + 4]
mov esi, edi
mov dword [ebp - 0x190], eax
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x4282ec
push str._timed
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419bc3
cmp dword [ebp + 8], edi
jle 0x419bc3
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x419bb5
cmp byte [eax], 0x30
jne 0x419b97
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x419b6f
cmp cl, 0x58
jne 0x419b97
lea ecx, [ebp - 0x1d0]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x116]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x1d0], eax
mov byte [ebp - 0x116], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x116], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._sym
push str._symm
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419c5b
cmp dword [ebp + 8], edi
jle 0x419c5b
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x419c4d
cmp byte [eax], 0x30
jne 0x419c2f
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x419c07
cmp cl, 0x58
jne 0x419c2f
lea ecx, [ebp - 0x1a0]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x112]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x112], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x112], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x428308
push str._keychoice
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419cf3
cmp dword [ebp + 8], edi
jle 0x419cf3
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x419ce5
cmp byte [eax], 0x30
jne 0x419cc7
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x419c9f
cmp cl, 0x58
jne 0x419cc7
lea ecx, [ebp - 0x184]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x113]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x184], eax
mov byte [ebp - 0x113], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x113], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._kdf
push str._kdfchoice
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419d8b
cmp dword [ebp + 8], edi
jle 0x419d8b
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x419d7d
cmp byte [eax], 0x30
jne 0x419d5f
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x419d37
cmp cl, 0x58
jne 0x419d5f
lea ecx, [ebp - 0x1b4]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x11c]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x1b4], eax
mov byte [ebp - 0x11c], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x11c], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._kds
push str._kdfscnt
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419e23
cmp dword [ebp + 8], edi
jle 0x419e23
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x419e15
cmp byte [eax], 0x30
jne 0x419df7
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x419dcf
cmp cl, 0x58
jne 0x419df7
lea ecx, [ebp - 0x1c0]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x11d]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 0x11d], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x11d], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._prf
push str._prftype
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419e9d
cmp dword [ebp + 8], edi
jle 0x419e9d
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x419e96
cmp byte [eax], 0x30
jne 0x419e86
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x419e67
cmp cl, 0x58
jne 0x419e86
lea ecx, [ebp - 0x200]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x200], eax
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._pbkd2prf
push str._pbkd2prftype
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419f35
cmp dword [ebp + 8], edi
jle 0x419f35
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x419f27
cmp byte [eax], 0x30
jne 0x419f09
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x419ee1
cmp cl, 0x58
jne 0x419f09
lea ecx, [ebp - 0x1cc]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x11a]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x1cc], eax
mov byte [ebp - 0x11a], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x11a], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._giv
push str._gcmiv
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x419f6d
cmp dword [ebp + 8], edi
jle 0x419f6d
push str.Ignoring__gcmiv_parameter_n
call fcn.0041d4c0
add esp, 4
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._gad
push str._gcmaad
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a005
cmp dword [ebp + 8], edi
jle 0x41a005
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x419ff7
cmp byte [eax], 0x30
jne 0x419fd9
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x419fb1
cmp cl, 0x58
jne 0x419fd9
lea ecx, [ebp - 0x1c4]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x118]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x1c4], eax
mov byte [ebp - 0x118], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x118], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._ctrb
push str._ctrbits
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a09d
cmp dword [ebp + 8], edi
jle 0x41a09d
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x41a08f
cmp byte [eax], 0x30
jne 0x41a071
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x41a049
cmp cl, 0x58
jne 0x41a071
lea ecx, [ebp - 0x1e0]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x119]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 0x119], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x119], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._crv
push str._curve
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a135
cmp dword [ebp + 8], edi
jle 0x41a135
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x41a127
cmp byte [eax], 0x30
jne 0x41a109
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x41a0e1
cmp cl, 0x58
jne 0x41a109
lea ecx, [ebp - 0x1bc]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne byte [ebp - 0x115]
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x1bc], eax
mov byte [ebp - 0x115], 1
mov esi, edi
jmp 0x41a466
mov byte [ebp - 0x115], 0
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x4283d0
push str._prehash
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a165
cmp dword [ebp + 8], esi
jle 0x41a165
mov byte [ebp - 0x171], 1
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x4283e0
push str._force
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a195
cmp dword [ebp + 8], esi
jle 0x41a195
mov byte [ebp - 0x12c], 1
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._pwd
push str._password
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a1d7
cmp dword [ebp + 8], edi
jle 0x41a1d7
mov eax, dword [ebp - 0x10c]
mov byte [ebp - 0x151], 1
mov eax, dword [eax + esi*4 + 4]
mov esi, edi
mov dword [ebp - 0x1f4], eax
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._shf
push str._sharefile
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a225
cmp dword [ebp + 8], edi
jle 0x41a225
mov eax, dword [ebp - 0x10c]
mov edx, 0x434338
mov ecx, dword [eax + esi*4 + 4]
nop word [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x41a210
mov esi, edi
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x428414
push str._xml
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a266
cmp dword [ebp + 8], edi
jle 0x41a266
mov eax, dword [ebp - 0x10c]
mov byte [ebp - 0x125], 1
mov eax, dword [eax + esi*4 + 4]
mov esi, edi
mov dword [0x434330], eax
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x428420
push str._verbose
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a297
cmp dword [ebp + 8], esi
jle 0x41a297
mov al, 1
mov byte [ebp - 0x1f8], al
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push 0x428430
push str._alarm
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a330
cmp dword [ebp + 8], edi
jle 0x41a330
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
je 0x41a322
cmp byte [eax], 0x30
jne 0x41a304
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x41a2db
cmp cl, 0x58
jne 0x41a304
lea ecx, [ebp - 0x1fc]
add eax, 2
push ecx
push 0x4280a8
push eax
call fcn.0041d520
add esp, 0xc
mov esi, edi
test eax, eax
setne al
mov byte [0x43431b], al
jmp 0x41a466
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [ebp - 0x1fc], eax
add esp, 4
mov al, 1
mov esi, edi
mov byte [0x43431b], al
jmp 0x41a466
xor al, al
mov esi, edi
mov byte [0x43431b], al
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._sil
push str._silent
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a360
cmp dword [ebp + 8], esi
jle 0x41a360
mov byte [0x434540], 1
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._sta
push str._startdate
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a39b
cmp dword [ebp + 8], edi
jle 0x41a39b
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
mov esi, edi
mov dword [ebp - 0x204], eax
jmp 0x41a466
mov eax, dword [ebp - 0x10c]
push str._end
push str._enddate
push dword [eax + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a3d6
cmp dword [ebp + 8], edi
jle 0x41a3d6
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + esi*4 + 4]
mov esi, edi
mov dword [ebp - 0x208], eax
jmp 0x41a466
mov edi, dword [ebp - 0x10c]
push 0x428474
push str._template
push dword [edi + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a403
cmp dword [ebp + 8], esi
jle 0x41a403
mov byte [0x434541], 1
jmp 0x41a466
push str._kiv
push str._kwicv
push dword [edi + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
je 0x41a42a
cmp dword [ebp + 8], esi
jle 0x41a42a
mov byte [ebp - 0x16f], 1
jmp 0x41a466
push 0x428494
push str._help
push dword [edi + esi*4]
call fcn.004187c0
add esp, 0xc
test al, al
jne 0x41a4a3
push dword [edi + esi*4]
mov byte [ebp - 0x101], 1
push str._nError:_Unknown_argument_or_argument_is_missing_parameter_s_:__s__n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 0xc
inc esi
cmp esi, dword [ebp + 8]
jl 0x419390
mov edi, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x16c], edi
cmp byte [ebp - 0x101], 0
jne 0x41a5fe
cmp byte [ebp - 0x16d], 0
jne 0x41a501
push 2
call ecx
mov ecx, str._nError:_You_need_to_specify_the_mode___mode_._n_n
jmp 0x41a515
push dword [edi]
call fcn.004188f0
add esp, 4
call fcn.0040a3f0
mov ecx, dword [ebp - 0x1ec]
test ecx, ecx
je 0x41b75d
mov edx, dword [ebp - 0x160]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffffc
cmp edx, 0x1000
jb 0x41a4e9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a67e
push edx
push ecx
jmp 0x41b755
mov edi, dword [ebp - 0x1ec]
mov dword [ebp - 0x16c], edi
jmp 0x41a5fe
mov edx, dword [ebp - 0x150]
cmp edx, 0xffffffff
jne 0x41a539
push 2
call ecx
mov ecx, str._nError:_You_specified_an_invalid_mode._n_n
add esp, 4
push ecx
push eax
call fcn.004148f0
mov eax, dword [ebp - 0x10c]
push dword [eax]
call fcn.004188f0
add esp, 0xc
call fcn.0040a3f0
jmp 0x41bf9a
cmp byte [ebp - 0x114], 0
je 0x41a5b4
cmp dword [ebp - 0x1a8], 0x100000
jbe 0x41a56d
push 0x100000
push str._nError:_You_cannot_specify_a_packet_size_greater_then__d__1_Megabyte_._n_n
push 2
call ecx
add esp, 4
push eax
call fcn.004148f0
add esp, 0xc
jmp 0x41a5f7
cmp edx, 0xb
jne 0x41a5a8
mov eax, dword [ebp - 0x1a8]
cmp eax, 0x14
je 0x41a5b4
cmp eax, 0x1c
je 0x41a5b4
cmp eax, 0x20
je 0x41a5b4
cmp eax, 0x30
je 0x41a5b4
cmp eax, 0x40
je 0x41a5b4
push str._nError:_For_the_mode__modeRsaX931SignVerify___you_can_only_use_the__n_______following_packet_sizes:_20__28__32__48__64._n_n
push 2
call ecx
add esp, 4
push eax
call fcn.004148f0
add esp, 8
jmp 0x41a5f7
cmp edx, 5
jne 0x41a5b4
push str._nError:_rsasignver_uses_fixed_size_packet___do_not_specify__p_n_n
jmp 0x41a596
cmp byte [ebp - 0x117], 0
jne 0x41a5c4
push str._nError:_Slots_and_threads_have_not_been_specified_properly._n_n
jmp 0x41a596
cmp dword [ebp - 0x1a4], 0
jg 0x41a5d4
push str._nError:_You_must_specify_at_least_one_slot._n_n
jmp 0x41a596
mov eax, dword [ebp - 0x1bc]
cmp eax, 0x1a
jbe 0x41a604
push 0x1a
push eax
push str._nError:_Invalid_curve_number__lu._Range_is_0_...__d._n_n
push 2
call ecx
add esp, 4
push eax
call fcn.004148f0
add esp, 0x10
mov byte [ebp - 0x101], 1
mov edx, dword [ebp - 0x150]
cmp byte [ebp - 0x16e], 0
sete byte [0x4328c0]
cmp byte [ebp - 0x101], 0
jne 0x41a639
cmp edx, 0xffffffff
jne 0x41a684
push str._nError:_Invalid_mode_specified._n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
mov eax, dword [ebp - 0x10c]
push dword [eax]
call fcn.004188f0
add esp, 4
test edi, edi
je 0x41b75d
mov ecx, dword [ebp - 0x160]
mov eax, edi
sub ecx, edi
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x41b753
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41b753
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp byte [0x4328fd], 0
jne 0x41a69d
cmp byte [0x4328fc], 0
jne 0x41a69d
push str._nError:___noenc__and___nodec__cannot_be_used_together._n_n
jmp 0x41a625
cmp byte [0x4328fe], 0
jne 0x41a6b9
cmp byte [0x4328ff], 0
jne 0x41a6b9
push str._nError:___nosign__and___noverify__cannot_be_used_together._n_n
jmp 0x41a625
cmp byte [0x432900], 0
jne 0x41a6d5
cmp byte [0x432901], 0
jne 0x41a6d5
push str._nError:___nowrap__and___nounwrap__cannot_be_used_together._n_n
jmp 0x41a625
cmp byte [ebp - 0x118], 0
je 0x41a6f4
cmp dword [ebp - 0x1c4], 0x400
jbe 0x41a6f4
push str._nError:__gcmaad__cannot_be_larger_than_1024_bytes._n_n
jmp 0x41a625
cmp byte [ebp - 0x119], 0
je 0x41a713
cmp dword [ebp - 0x1e0], 0x80
jbe 0x41a713
push str._nError:__ctrbits__cannot_be_larger_than_128._n_n
jmp 0x41a625
cmp byte [0x434541], 0
je 0x41a73b
cmp edx, 0x3c
je 0x41a73b
cmp edx, 0x84
je 0x41a73b
cmp edx, 0x85
je 0x41a73b
push str._nError:__withtemplate__valid_only_for__wrapunwrap__or__symderive__mode._n_n
jmp 0x41a625
cmp byte [ebp - 0x16f], 0
je 0x41a75b
cmp edx, 0x50
je 0x41a751
cmp edx, 0x85
jne 0x41a75b
mov dword [ebp - 0x1b8], 8
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x168], eax
cmp edx, 6
je 0x41bef1
cmp edx, 7
je 0x41bef1
cmp edx, 8
je 0x41bef1
cmp edx, 9
je 0x41bef1
cmp edx, 0xa
je 0x41bef1
cmp edx, 0xb
je 0x41bef1
cmp edx, 0xc
je 0x41bef1
cmp edx, 0xd
je 0x41bef1
cmp edx, 0xe
je 0x41bef1
cmp edx, 0xf
je 0x41bef1
cmp edx, 0x10
je 0x41bef1
cmp edx, 0x11
je 0x41bef1
cmp edx, 0x12
je 0x41bef1
cmp edx, 0x13
je 0x41bef1
cmp edx, 0x14
je 0x41bef1
cmp edx, 0x15
je 0x41bef1
cmp edx, 5
je 0x41bef1
cmp edx, 1
je 0x41bef1
cmp edx, 2
je 0x41bef1
cmp edx, 3
je 0x41bef1
cmp edx, 4
je 0x41bef1
cmp edx, 0x16
je 0x41bef1
cmp edx, 0x17
je 0x41be81
cmp edx, 0x18
je 0x41be81
cmp edx, 0x19
je 0x41be81
cmp edx, 0x1a
je 0x41be81
cmp edx, 0x1b
je 0x41be81
cmp edx, 0x1d
je 0x41bbe8
cmp edx, 0x1c
je 0x41bbe8
cmp edx, 0x1e
je 0x41bbe8
cmp edx, 0x1f
je 0x41bbe8
cmp edx, 0x20
je 0x41bbe8
cmp edx, 0x2f
je 0x41bbb5
cmp edx, 0x2e
je 0x41bbb5
cmp edx, 0x30
je 0x41bbb5
cmp edx, 0x31
je 0x41bbb5
cmp edx, 0x32
je 0x41bbb5
cmp edx, 0x33
je 0x41bbb5
cmp edx, 0x34
je 0x41bbb5
cmp edx, 0x35
je 0x41bbb5
cmp edx, 0x36
je 0x41bbb5
cmp edx, 0x37
je 0x41bbb5
cmp edx, 0x38
je 0x41bbb5
cmp edx, 0x24
je 0x41baa7
cmp edx, 0x23
je 0x41baa7
cmp edx, 0x25
je 0x41baa7
cmp edx, 0x26
je 0x41baa7
cmp edx, 0x27
je 0x41baa7
cmp edx, 0x28
je 0x41baa7
cmp edx, 0x29
je 0x41baa7
cmp edx, 0x2a
je 0x41baa7
cmp edx, 0x2b
je 0x41baa7
cmp edx, 0x2c
je 0x41baa7
cmp edx, 0x2d
je 0x41baa7
cmp edx, 0x39
je 0x41baa7
cmp edx, 0x72
je 0x41baa7
cmp edx, 0x73
je 0x41baa7
cmp edx, 0x74
je 0x41baa7
cmp edx, 0x75
je 0x41baa7
cmp edx, 0x76
je 0x41baa7
cmp edx, 0x77
je 0x41baa7
cmp edx, 0x78
je 0x41baa7
cmp edx, 0x79
je 0x41baa7
cmp edx, 0x7a
je 0x41baa7
cmp edx, 0x7b
je 0x41baa7
cmp edx, 0x7c
je 0x41baa7
cmp edx, 0x7d
je 0x41baa7
cmp edx, 0x7e
je 0x41baa7
cmp edx, 0x7f
je 0x41baa7
cmp edx, 0x3c
jne 0x41b3f7
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 2
push eax
push 0
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x110], 0
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x110], 0x364
mov dword [ebp - 0x158], eax
cmp esi, eax
je 0x41aa59
mov dword [esi], 0x364
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41aa7e
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x365
cmp esi, eax
je 0x41aa9d
mov dword [esi], 0x365
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41aac2
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x360
cmp esi, eax
je 0x41aae1
mov dword [esi], 0x360
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ab06
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x362
cmp esi, eax
je 0x41ab25
mov dword [esi], 0x362
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ab4a
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x363
cmp esi, eax
je 0x41ab69
mov dword [esi], 0x363
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ab8e
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x80000364
cmp esi, eax
je 0x41abad
mov dword [esi], 0x80000364
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41abd2
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x1100
cmp esi, eax
je 0x41abf1
mov dword [esi], 0x1100
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ac16
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x1101
cmp esi, eax
je 0x41ac35
mov dword [esi], 0x1101
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ac5a
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x1102
cmp esi, eax
je 0x41ac79
mov dword [esi], 0x1102
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ac9e
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x1103
cmp esi, eax
je 0x41acbd
mov dword [esi], 0x1103
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ace2
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x1104
cmp esi, eax
je 0x41ad01
mov dword [esi], 0x1104
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ad26
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x1105
cmp esi, eax
je 0x41ad45
mov dword [esi], 0x1105
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ad6a
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x396
cmp esi, eax
je 0x41ad89
mov dword [esi], 0x396
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41adae
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x393
cmp esi, eax
je 0x41adcd
mov dword [esi], 0x393
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41adf2
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x394
cmp esi, eax
je 0x41ae11
mov dword [esi], 0x394
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ae36
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x395
cmp esi, eax
je 0x41ae55
mov dword [esi], 0x395
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41ae7a
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x80000511
cmp esi, eax
je 0x41ae99
mov dword [esi], 0x80000511
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41aebe
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x110], 0x80000514
cmp esi, eax
je 0x41aedd
mov dword [esi], 0x80000514
add esi, 4
mov dword [ebp - 0x134], esi
jmp 0x41af02
lea eax, [ebp - 0x110]
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401570
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x158], eax
cmp byte [ebp - 0x112], 0
mov edi, dword [ebp - 0x138]
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x14c], edi
jne 0x41afb3
mov eax, esi
sub eax, edi
sar eax, 2
mov dword [ebp - 0x110], eax
mov esi, eax
push str._nSymmetric_Key_Derivation_Test_n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
mov edi, 1
add esp, 8
cmp esi, edi
jbe 0x41af83
mov eax, dword [ebp - 0x14c]
push dword [eax + edi*4]
call fcn.0041e510
add esp, 4
push eax
push edi
push str.__________d____s_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
inc edi
add esp, 0x10
cmp edi, esi
jb 0x41af52
push str.Error:_You_picked_an_unsupported_mechanism_
push str.Please_pick_a_derivation_mechanism:
lea eax, [esi - 1]
push eax
push 1
call fcn.00418700
add esp, 0x10
test eax, eax
je 0x41af30
mov ecx, dword [ebp - 0x1a0]
mov esi, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x14c]
jmp 0x41afbb
mov ecx, dword [ebp - 0x1a0]
mov eax, ecx
sub esi, edi
mov dword [ebp - 0x1ac], ecx
sar esi, 2
cmp eax, esi
jae 0x41afd9
mov ecx, dword [edi + eax*4]
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x1c8], 0
cmp ecx, 0x1101
ja 0x41b09d
cmp ecx, 0x1100
jae 0x41b084
cmp ecx, 0x365
ja 0x41b043
je 0x41b197
cmp ecx, 0x360
je 0x41b197
cmp ecx, 0x361
jbe 0x41b14b
cmp ecx, 0x364
jbe 0x41b101
push ecx
push ecx
push str._nError:_Mechanism__ld__lx__is_unsupported__n_n
jmp 0x41b315
cmp ecx, 0x567
ja 0x41b14b
cmp ecx, 0x566
jae 0x41b06b
lea eax, [ecx - 0x393]
cmp eax, 3
ja 0x41b14b
jmp 0x41b197
mov dword [ebp - 0x19c], 0x26
mov dword [ebp - 0x18c], 0x26
jmp 0x41b1a1
mov dword [ebp - 0x19c], 0x13
mov dword [ebp - 0x18c], 0x13
jmp 0x41b1a1
cmp ecx, 0x80000511
ja 0x41b133
je 0x41b110
cmp ecx, 0x1105
ja 0x41b0f9
cmp ecx, 0x1104
jae 0x41b0e0
cmp ecx, 0x1103
ja 0x41b14b
mov dword [ebp - 0x19c], 0x15
mov dword [ebp - 0x18c], 0x15
jmp 0x41b1a1
mov dword [ebp - 0x19c], 0x1f
mov dword [ebp - 0x18c], 0x1f
jmp 0x41b1a1
cmp ecx, 0x80000364
jne 0x41b14b
mov dword [ebp - 0x18c], 0x15
jmp 0x41b1a1
mov dword [ebp - 0x19c], 0x1f
mov dword [ebp - 0x14c], 0x10
mov dword [ebp - 0x18c], 0x10
jmp 0x41b36e
cmp ecx, 0x80000514
je 0x41b183
cmp ecx, 0x80000a02
je 0x41b17c
cmp ecx, 0x80000a03
je 0x41b157
push ecx
push ecx
push str._nError:_Mechanism__ld__lx__is_unsupported__n_n
jmp 0x41b315
push str._nError:_Wrong_KDF_type_for_CKM_PRF_KDF_n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
mov byte [ebp - 0x101], 1
jmp 0x41b38c
push str._nError:_Wrong_KDF_type_for_CKM_NIST_PRF_KDF_n_n
jmp 0x41b15c
mov dword [ebp - 0x19c], 0x1f
mov dword [ebp - 0x14c], 0x10
mov dword [ebp - 0x18c], 0x10
cmp ecx, 0x1101
ja 0x41b263
cmp ecx, 0x1100
jae 0x41b241
cmp ecx, 0x365
ja 0x41b201
je 0x41b1e8
cmp ecx, 0x360
je 0x41b1e8
cmp ecx, 0x361
jbe 0x41b38c
cmp ecx, 0x364
jbe 0x41b350
jmp 0x41b38c
mov dword [ebp - 0x178], 4
mov dword [ebp - 0x188], 4
jmp 0x41b38c
cmp ecx, 0x567
ja 0x41b38c
cmp ecx, 0x566
jae 0x41b2ba
lea eax, [ecx - 0x393]
cmp eax, 3
ja 0x41b38c
mov dword [ebp - 0x178], 0x18
mov dword [ebp - 0x188], 0x18
jmp 0x41b38c
cmp byte [ebp - 0x102], 0
mov ecx, 8
mov eax, dword [0x432904]
cmove eax, ecx
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x188], ecx
jmp 0x41b2da
cmp ecx, 0x80000511
ja 0x41b366
je 0x41b36e
cmp ecx, 0x1105
ja 0x41b348
cmp ecx, 0x1104
jae 0x41b2ba
cmp ecx, 0x1103
ja 0x41b38c
cmp byte [ebp - 0x102], 0
mov ecx, 0x18
mov eax, dword [0x432904]
cmove eax, ecx
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x188], ecx
lea esi, [ecx - 0x10]
jmp 0x41b2dc
cmp byte [ebp - 0x102], 0
mov ecx, 0x10
mov eax, dword [0x432904]
cmove eax, ecx
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x188], eax
mov esi, ecx
cmp byte [ebp - 0x114], 0
mov dword [0x432904], eax
jne 0x41b2fe
push 0x3c
call fcn.00409fc0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1a8], ecx
jmp 0x41b304
mov ecx, dword [ebp - 0x1a8]
xor edx, edx
mov eax, ecx
div esi
test edx, edx
je 0x41b332
push esi
push ecx
push str._nError:_Packet_Size___lu_bytes__not_multiple_of_mechanism_block_size___lu_bytes___n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 0x10
mov byte [ebp - 0x101], 1
jmp 0x41b38c
mov eax, dword [ebp - 0x188]
cmp ecx, eax
jae 0x41b38c
push eax
push ecx
lfence
push str._nError:_Packet_Size___lu_bytes____derived_key_size___lu_bytes___n_n
jmp 0x41b315
cmp ecx, 0x80000364
jne 0x41b38c
mov dword [ebp - 0x178], 0x18
mov dword [ebp - 0x188], 0x18
jmp 0x41b38c
cmp ecx, 0x80000514
jne 0x41b38c
mov dword [ebp - 0x188], 0x10
mov dword [ebp - 0x1c8], 0x10
mov dword [ebp - 0x178], 0x10
mov byte [ebp - 4], 0
test edi, edi
je 0x41b3ec
mov eax, dword [ebp - 0x158]
sub eax, edi
sar eax, 2
lea ecx, [eax*4]
mov eax, edi
cmp ecx, 0x1000
jb 0x41b3c4
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a67e
push ecx
push edi
call fcn.0041e5a7
add esp, 8
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
mov edi, dword [ebp - 0x16c]
jmp 0x41ba5d
cmp edx, 0x3b
jne 0x41b47d
cmp byte [ebp - 0x112], 0
je 0x41b411
mov ecx, dword [ebp - 0x1a0]
jmp 0x41b422
mov ecx, dword [ebp - 0x184]
xor eax, eax
cmp byte [ebp - 0x113], al
cmove ecx, eax
mov eax, dword [0x432904]
xor edx, edx
cmp byte [ebp - 0x102], dl
mov dword [ebp - 0x184], ecx
cmove eax, edx
mov dword [0x432904], eax
lea eax, [ebp - 0x110]
push eax
push ecx
call fcn.00418440
add esp, 8
test eax, eax
jne 0x41a639
push eax
mov eax, dword [ebp - 0x110]
push 0x432904
push eax
mov dword [ebp - 0x17c], eax
call fcn.00418100
add esp, 0xc
test eax, eax
jne 0x41a639
jmp 0x41bf2d
cmp edx, 0x48
je 0x41ba8b
cmp edx, 0x49
je 0x41ba8b
cmp edx, 0x4a
je 0x41ba8b
cmp edx, 0x4e
je 0x41ba8b
cmp edx, 0x53
je 0x41ba8b
cmp edx, 0x4f
je 0x41ba8b
cmp edx, 0x4b
je 0x41ba8b
cmp edx, 0x4c
je 0x41ba8b
cmp edx, 0x4d
je 0x41ba8b
cmp edx, 0x50
je 0x41ba8b
cmp edx, 0x54
je 0x41ba8b
cmp edx, 0x55
je 0x41ba8b
cmp edx, 0x56
je 0x41ba8b
cmp edx, 0x57
je 0x41ba8b
cmp edx, 0x58
je 0x41ba8b
cmp edx, 0x59
je 0x41ba8b
cmp edx, 0x85
je 0x41ba8b
cmp edx, 0x5c
je 0x41ba8b
cmp edx, 0x5d
je 0x41ba8b
cmp edx, 0x5e
je 0x41ba8b
cmp edx, 0x3e
je 0x41ba8b
cmp edx, 0x3f
je 0x41ba6f
cmp edx, 0x40
je 0x41ba6f
cmp edx, 0x41
je 0x41ba6f
cmp edx, 0x43
je 0x41ba6f
cmp edx, 0x44
je 0x41ba6f
cmp edx, 0x3a
jne 0x41b607
mov esi, dword [ebp - 0x1a0]
xor eax, eax
cmp byte [ebp - 0x112], al
mov edx, dword [ebp - 0x184]
mov ecx, dword [0x432904]
cmove esi, eax
cmp byte [ebp - 0x113], al
mov dword [ebp - 0x1a0], esi
cmove edx, eax
cmp byte [ebp - 0x102], al
mov dword [ebp - 0x184], edx
cmove ecx, eax
mov eax, dword [ebp - 0x1cc]
xor edi, edi
mov dword [0x432904], ecx
cmp byte [ebp - 0x11a], 0
cmove eax, edi
lea edi, [ebp - 0x110]
push edi
lea edi, [ebp - 0x164]
mov dword [ebp - 0x1cc], eax
push edi
lea edi, [ebp - 0x158]
push edi
lea edi, [ebp - 0x148]
push edi
push eax
push ecx
push edx
push esi
call fcn.00417d50
mov edi, dword [ebp - 0x16c]
add esp, 0x20
test eax, eax
je 0x41bb8c
jmp 0x41a639
cmp edx, 0x81
je 0x41b77a
cmp edx, 0x80
je 0x41b77a
cmp edx, 0x82
je 0x41b86f
cmp edx, 0x83
je 0x41b77a
cmp edx, 0x8a
jne 0x41bf2d
cmp byte [ebp - 0x102], 0
jne 0x41b6d9
push str._nPlease_select_TUAK_Subscription_key_size__or_use__key_option_:_n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
push str._t16_or_32_bytes_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
push 2
call dword [ebp - 0x108]
push eax
call esi
push 0
call dword [ebp - 0x108]
push eax
lea eax, [ebp - 0x60]
push 0x50
push eax
call dword [ebp - 0x168]
lea ecx, [ebp - 0x60]
add esp, 0x20
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b6a8
sub ecx, edx
dec ecx
cmp ecx, 0x50
jae 0x41d4b2
mov byte [ebp + ecx - 0x60], al
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x432904], eax
test al, 0xf
jne 0x41b650
mov eax, dword [0x432904]
test al, 0xf
jne 0x41b6f0
cmp eax, 0x10
jb 0x41b6f0
cmp eax, 0x20
jbe 0x41bf2d
push dword [0x432904]
mov esi, dword [ebp - 0x108]
push str._nError:_Invalid_TUAK_Subscription_key_size__lu_bits_specified.
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
add esp, 0xc
push str._nError:_Supported_TUAK_Subscription_key_sizes_are_16_or_32_bytes_n_n
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
add esp, 8
test edi, edi
je 0x41b75d
mov ecx, dword [ebp - 0x160]
mov eax, edi
sub ecx, edi
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x41b753
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a67e
push ecx
push edi
call fcn.0041e5a7
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e5b5
mov esp, ebp
pop ebp
ret
cmp edx, 0x82
je 0x41b86f
cmp edx, 0x83
je 0x41b86f
cmp byte [ebp - 0x102], 0
jne 0x41b829
nop
push str._nPlease_select_a_X9.42_DH_key_size__or_use__key_option_:_n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
push str._t1024__2048_or_3072_bits_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
push 2
call dword [ebp - 0x108]
push eax
call esi
push 0
call dword [ebp - 0x108]
push eax
lea eax, [ebp - 0x60]
push 0x50
push eax
call dword [ebp - 0x168]
lea ecx, [ebp - 0x60]
add esp, 0x20
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b7f8
sub ecx, edx
dec ecx
cmp ecx, 0x50
jae 0x41d4b2
mov byte [ebp + ecx - 0x60], al
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x432904], eax
test al, al
jne 0x41b7a0
mov eax, dword [0x432904]
test al, al
jne 0x41b844
cmp eax, 0x400
jb 0x41b844
cmp eax, 0xc00
jbe 0x41b8fd
push dword [0x432904]
mov esi, dword [ebp - 0x108]
push str._nError:_Invalid_X9.42_DH_key_size__lu_bits_specified.
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
add esp, 0xc
push str._nError:_Supported_X9.42_DH_key_sizes_for_this_application_are_1024__2048_or_3072_bits_n_n
jmp 0x41b716
cmp byte [ebp - 0x11b], 0
jne 0x41b937
mov dword [0x432910], 0x400
cmp byte [ebp - 0x102], 0
jne 0x41b8fd
nop
push str._nPlease_select_a_key_size_for_derived_key__or_use__key_option_:_n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
push 2
call dword [ebp - 0x108]
push eax
call esi
push 0
call dword [ebp - 0x108]
push eax
lea eax, [ebp - 0x60]
push 0x50
push eax
call dword [ebp - 0x168]
lea ecx, [ebp - 0x60]
add esp, 0x20
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b8d0
sub ecx, edx
dec ecx
cmp ecx, 0x50
jae 0x41d4b2
mov byte [ebp + ecx - 0x60], al
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x432904], eax
test eax, eax
je 0x41b890
mov esi, dword [ebp - 0x150]
cmp esi, 0x82
je 0x41b9e7
cmp byte [ebp - 0x111], 0
jne 0x41b996
cmp dword [0x432904], 0x400
jne 0x41b966
mov dword [0x43290c], 0xa0
jmp 0x41b9d1
mov eax, dword [0x432910]
cmp eax, 0x400
je 0x41b886
push eax
push str._nError:_Invalid_X9.42_DH_key_size__lu_bits_specified._This_Application_only_supports_1024_bits_DH_key_size_n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
mov esi, dword [ebp - 0x150]
jmp 0x41b9c7
cmp dword [0x432904], 0x800
jne 0x41b97e
mov dword [0x43290c], 0xe0
jmp 0x41b9d1
cmp dword [0x432904], 0xc00
jne 0x41b996
mov dword [0x43290c], 0x100
jmp 0x41b9d1
mov eax, dword [0x43290c]
cmp eax, 0xa0
je 0x41b9d1
cmp eax, 0xe0
je 0x41b9d1
cmp eax, 0x100
je 0x41b9d1
push eax
push str._nError:_Invalid_X9.42_DH_subprime_size___lu_._This_Application_only_supports_160__224_or_256_bits_DH_subprime_size_n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
mov byte [ebp - 0x101], 1
add esp, 0xc
cmp esi, 0x82
je 0x41b9f1
cmp esi, 0x83
jne 0x41ba5d
jmp 0x41b9f1
mov dword [0x43290c], 0xa0
push dword [ebp - 0x12c]
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x148]
push eax
push dword [0x432904]
push dword [ebp - 0x184]
push dword [ebp - 0x1c0]
push 0x434338
push dword [ebp - 0x1b4]
call fcn.004168c0
add esp, 0x24
test eax, eax
jne 0x41b726
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x1ac], eax
cmp byte [ebp - 0x101], 0
je 0x41bf2d
jmp 0x41a639
cmp byte [ebp - 0x102], 0
jne 0x41bf2d
mov dword [0x432904], 0x18
jmp 0x41bf2d
cmp byte [ebp - 0x102], 0
jne 0x41bf2d
mov dword [0x432904], 0x10
jmp 0x41bf2d
cmp byte [ebp - 0x115], 0
je 0x41bab8
mov eax, dword [ebp - 0x1bc]
jmp 0x41bade
cmp edx, 0x72
jne 0x41bace
push 0x1b
call fcn.004153b0
add esp, 4
mov dword [0x432914], eax
jmp 0x41bafb
push 0x19
call fcn.004153b0
mov edx, dword [ebp - 0x150]
add esp, 4
mov dword [0x432914], eax
cmp edx, 0x72
je 0x41bafb
cmp edx, 0x74
je 0x41bafb
cmp edx, 0x75
je 0x41bafb
cmp edx, 0x73
jne 0x41bf2d
mov esi, dword [ebp - 0x1b4]
xor eax, eax
cmp byte [ebp - 0x11c], al
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x184]
cmove esi, eax
cmp byte [ebp - 0x11d], al
push dword [ebp - 0x12c]
cmove edx, eax
mov dword [ebp - 0x1b4], esi
cmp byte [ebp - 0x113], al
mov dword [ebp - 0x1c0], edx
cmove ecx, eax
mov eax, dword [0x432904]
xor edi, edi
mov dword [ebp - 0x184], ecx
cmp byte [ebp - 0x102], 0
cmove eax, edi
lea edi, [ebp - 0x164]
push edi
lea edi, [ebp - 0x158]
mov dword [0x432904], eax
push edi
lea edi, [ebp - 0x148]
push edi
push eax
push ecx
push edx
push 0x434338
push esi
call fcn.004168c0
mov edi, dword [ebp - 0x16c]
add esp, 0x24
test eax, eax
jne 0x41a639
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x1ac], eax
jmp 0x41bf2d
cmp byte [ebp - 0x115], 0
je 0x41bbd1
mov eax, dword [ebp - 0x1bc]
add eax, 0x19
mov dword [0x432914], eax
jmp 0x41bf2d
push 2
call fcn.004157d0
add esp, 4
add eax, 0x19
mov dword [0x432914], eax
jmp 0x41bf2d
cmp byte [ebp - 0x102], 0
jne 0x41bcd2
nop word [eax + eax]
push str._nPlease_select_a_DSA_key_size__or_use__key_option_:_n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
push str._t1024_bits__possible_subprime_size__160_bits__n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
push str._t2048_bits__possible_subprime_size__224_or_256_bits__n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
push str._t3072_bits__possible_subprime_size__256_bits__n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
push 2
call dword [ebp - 0x108]
push eax
call esi
push 0
call dword [ebp - 0x108]
push eax
lea eax, [ebp - 0x60]
push 0x50
push eax
call dword [ebp - 0x168]
lea ecx, [ebp - 0x60]
add esp, 0x20
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41bc90
sub ecx, edx
dec ecx
cmp ecx, 0x50
jae 0x41d4b2
mov byte [ebp + ecx - 0x60], al
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x432904], eax
cmp eax, 0x400
je 0x41bd12
cmp eax, 0x800
je 0x41bcd2
cmp eax, 0xc00
jne 0x41bc00
mov eax, dword [0x432904]
cmp eax, 0x400
je 0x41bd12
cmp eax, 0x800
je 0x41bd12
cmp eax, 0xc00
je 0x41bd12
mov esi, dword [ebp - 0x108]
push eax
push str._nError:_Invalid_DSA_key_size__lu_bits_specified.
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
add esp, 0xc
push str._nError:_This_application_only_supports_1024_2048_3072_bits_key_sizes._n_n
jmp 0x41b716
mov eax, dword [0x432904]
cmp eax, 0x400
je 0x41be5a
cmp eax, 0x800
je 0x41bd7f
cmp eax, 0xc00
je 0x41bd4f
push eax
push str._nError:_Invalid_DSA_key_size__lu_bits_specified._n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 0xc
jmp 0x41a639
cmp byte [ebp - 0x111], 0
jne 0x41bd67
mov dword [0x43290c], 0x100
jmp 0x41bf2d
mov eax, dword [0x43290c]
cmp eax, 0x100
je 0x41bf2d
push eax
push str._nError:_Invalid_DSA_subprime_size__lu_bits_specified._n_n
jmp 0x41bd36
cmp byte [ebp - 0x111], 0
jne 0x41be45
nop dword [eax]
push str._nPlease_select_a_subprime_size__or_use__subprime_option_:_n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
push str._t224_bits_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
push str._t256_bits_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
push 2
call dword [ebp - 0x108]
push eax
call esi
push 0
call dword [ebp - 0x108]
push eax
lea eax, [ebp - 0x60]
push 0x50
push eax
call dword [ebp - 0x168]
lea ecx, [ebp - 0x60]
add esp, 0x20
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41be01
sub ecx, edx
dec ecx
cmp ecx, 0x50
jae 0x41d4b2
mov byte [ebp + ecx - 0x60], al
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x43290c], eax
cmp eax, 0xe0
je 0x41bf2d
cmp eax, 0x100
jne 0x41bd90
jmp 0x41bf2d
mov eax, dword [0x43290c]
cmp eax, 0xe0
je 0x41bf2d
jmp 0x41bd6c
cmp byte [ebp - 0x111], 0
jne 0x41be72
mov dword [0x43290c], 0xa0
jmp 0x41bf2d
mov eax, dword [0x43290c]
cmp eax, 0xa0
jmp 0x41bd71
cmp byte [ebp - 0x102], 0
jne 0x41bebb
cmp edx, 0x1b
je 0x41beb4
push str._nWarning:_Key_size_not_specified.__Using_default_key_size_of_1024._n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
mov dword [0x432904], 0x400
jmp 0x41bf2d
push str._nWarning:_Key_size_not_specified.__Using_default_key_size_of_2048._n_n
jmp 0x41be94
cmp dword [0x432904], 0x400
jne 0x41bf2d
cmp edx, 0x1b
jne 0x41bf2d
push str._nWarning:_Min_Key_size_for_Sha512rsaoaepenc_is_2048._n_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 8
mov dword [0x432904], 0x800
jmp 0x41bf2d
cmp byte [ebp - 0x102], 0
jne 0x41bf2d
cmp edx, 3
je 0x41bf09
mov eax, 0x400
cmp edx, 4
jne 0x41bf0e
mov eax, 0x800
push eax
push str._nWarning:_Key_size_not_specified.__Using_default_key_size_of__lu._n_n
push 2
mov dword [0x432904], eax
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 0xc
cmp byte [ebp - 0x170], 0
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
je 0x41bf55
push 0x42905c
push dword [ebp - 0x190]
call esi
add esp, 8
mov dword [0x434328], eax
test eax, eax
je 0x41bf7b
cmp byte [ebp - 0x125], 0
je 0x41c016
push 0x42905c
push dword [0x434330]
call esi
add esp, 8
mov dword [0x43432c], eax
test eax, eax
jne 0x41bfdb
push dword [ebp - 0x190]
push str.The_file__s_could_not_be_opened_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 0xc
test edi, edi
je 0x41bfd1
mov ecx, dword [ebp - 0x160]
mov eax, edi
sub ecx, edi
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x41bfc7
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a67e
push ecx
push edi
call fcn.0041e5a7
add esp, 8
mov eax, 1
jmp 0x41b75f
push 0x40
call fcn.0041e5e9
add esp, 4
mov dword [ebp - 0x124], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x41c008
push dword [0x43432c]
mov ecx, eax
call fcn.0041d7a0
mov dword [ebp - 0x1b0], eax
jmp 0x41c012
mov dword [ebp - 0x1b0], 0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x1a4]
mov esi, dword [ebp - 0x108]
push str.Initializing_library...
push 2
mov dword [0x43453c], eax
call esi
add esp, 4
push eax
call fcn.004148f0
push 2
call esi
push eax
call dword [ebp - 0x180]
lea eax, [ebp - 0x144]
mov dword [ebp - 0x144], 0
push eax
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 2
mov dword [ebp - 0x130], 0
call sub.cryptoki.dll_C_Initialize
mov esi, eax
add esp, 0x14
test esi, esi
je 0x41c11b
push esi
call fcn.0041e470
add esp, 4
push eax
push esi
push str._nError__08lx___s__on_C_Initialize_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
mov eax, dword [0x434328]
add esp, 0x10
test eax, eax
je 0x41c0dc
push eax
call dword [ebp - 0x180]
push dword [0x434328]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 8
test edi, edi
je 0x41c113
mov ecx, dword [ebp - 0x160]
mov eax, edi
sub ecx, edi
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x41c109
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a67e
push ecx
push edi
call fcn.0041e5a7
add esp, 8
or eax, 0xffffffff
jmp 0x41b75f
mov esi, dword [ebp - 0x108]
push str.done._n
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
push 2
call esi
push eax
call dword [ebp - 0x180]
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0
push 0x38
lfence
call fcn.0041e5e9
add esp, 0x14
mov dword [ebp - 0x164], eax
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x198], eax
mov esi, dword [0x43453c]
xor ecx, ecx
mov byte [ebp - 4], 4
mov dword [ebp - 0x190], ecx
test esi, esi
je 0x41c3c6
mov edi, dword [edi + ecx*4]
xor esi, esi
mov dword [ebp - 0x12c], edi
mov ecx, eax
mov edx, dword [eax + 4]
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x110], edx
cmp byte [edx + 0xd], 0
jne 0x41c1e1
mov eax, edx
nop word [eax + eax]
mov dword [ebp - 0x110], eax
cmp dword [eax + 0x10], edi
jae 0x41c1d2
mov eax, dword [eax + 8]
xor esi, esi
jmp 0x41c1db
mov ecx, eax
mov esi, 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x41c1c0
cmp byte [ecx + 0xd], 0
jne 0x41c1f0
cmp edi, dword [ecx + 0x10]
jae 0x41c291
cmp dword [ebp - 0x194], 0x4924924
je 0x41d4b7
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x198]
mov dword [ebp - 0x1dc], eax
mov byte [ebp - 4], 5
mov dword [ebp - 0x1d8], 0
push 0x38
lfence
call fcn.0041e5e9
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x124], ecx
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x12c]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x164]
movups xmmword [eax + 0x14], xmm0
push eax
movups xmmword [eax + 0x24], xmm0
mov dword [eax + 0x34], 0
mov dword [eax], ecx
mov dword [eax + 4], ecx
push esi
push dword [ebp - 0x110]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x198]
mov word [eax + 0xc], 0
call fcn.004032d0
mov ecx, eax
mov dword [ecx + 0x34], 0
xor esi, esi
mov eax, dword [ebp - 0x198]
mov ecx, eax
mov dword [ebp - 0x12c], edi
mov dword [ebp - 0x164], eax
mov edx, dword [eax + 4]
mov dword [ebp - 0x110], edx
cmp byte [edx + 0xd], 0
jne 0x41c2e1
mov eax, edx
nop
mov dword [ebp - 0x110], eax
cmp dword [eax + 0x10], edi
jae 0x41c2d2
mov eax, dword [eax + 8]
xor esi, esi
jmp 0x41c2db
mov ecx, eax
mov esi, 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x41c2c0
cmp byte [ecx + 0xd], 0
jne 0x41c2f0
cmp edi, dword [ecx + 0x10]
jae 0x41c38d
cmp dword [ebp - 0x194], 0x4924924
je 0x41d4b7
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x198]
mov dword [ebp - 0x15c], eax
push 1
mov ecx, eax
mov byte [ebp - 4], 6
mov dword [ebp - 0x158], 0
call fcn.00416830
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 4
mov dword [ebp - 0x124], ecx
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x12c]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x164]
movups xmmword [eax + 0x14], xmm0
push eax
movups xmmword [eax + 0x24], xmm0
mov dword [eax + 0x34], 0
mov dword [eax], ecx
mov dword [eax + 4], ecx
push esi
push dword [ebp - 0x110]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x198]
mov word [eax + 0xc], 0
mov dword [ebp - 0x158], 0
call fcn.004032d0
mov ecx, eax
xorps xmm0, xmm0
movups xmmword [ecx + 0x14], xmm0
movups xmmword [ecx + 0x24], xmm0
mov ecx, dword [ebp - 0x190]
mov esi, dword [0x43453c]
inc ecx
mov dword [ebp - 0x190], ecx
cmp ecx, esi
jae 0x41c3d2
mov eax, dword [ebp - 0x198]
mov edi, dword [ebp - 0x16c]
mov dword [ebp - 0x164], eax
jmp 0x41c193
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x148], eax
mov eax, dword [0x434558]
mov ecx, eax
sub ecx, dword [0x434554]
mov dword [ebp - 0x110], eax
mov eax, 0x4ec4ec4f
imul ecx
mov byte [ebp - 0x125], 0
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp esi, edi
jae 0x41c411
imul eax, esi, 0x34
add eax, dword [0x434554]
mov dword [0x434558], eax
jmp 0x41c46c
jbe 0x41c46c
mov ecx, dword [0x43455c]
mov eax, 0x4ec4ec4f
sub ecx, dword [0x434554]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jbe 0x41c44b
lea eax, [ebp - 0x125]
mov ecx, 0x434554
push eax
push esi
lfence
call fcn.00414e10
jmp 0x41c46c
sub esi, edi
mov edi, dword [ebp - 0x110]
je 0x41c466
imul esi, esi, 0x34
push esi
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add edi, esi
mov dword [0x434558], edi
push str.Constructing_thread_objects._n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
mov eax, dword [0x43453c]
add esp, 8
xor edx, edx
test eax, eax
je 0x41c4ac
xor ecx, ecx
mov eax, dword [0x434554]
lea ecx, [ecx + 0x34]
inc edx
mov dword [ecx + eax - 0x2c], 0
mov eax, dword [0x43453c]
cmp edx, eax
jb 0x41c492
xor edi, edi
mov dword [0x434550], 0
mov dword [ebp - 0x164], edi
test eax, eax
je 0x41c7d5
xor esi, esi
mov dword [ebp - 0x158], esi
nop
mov ecx, dword [0x434554]
mov eax, dword [ebp - 0x16c]
push 0x110
mov eax, dword [eax + edi*4]
mov dword [esi + ecx], eax
mov eax, dword [0x434554]
mov byte [esi + eax + 0x14], 0
call fcn.0041e5e9
add esp, 4
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x41c512
mov ecx, eax
call fcn.00401d00
mov ecx, eax
jmp 0x41c514
xor ecx, ecx
mov eax, dword [0x434554]
push dword [ebp - 0x1f0]
mov byte [ebp - 4], 4
mov dword [esi + eax + 8], ecx
mov eax, dword [0x434554]
mov ecx, dword [ebp - 0x150]
mov eax, dword [esi + eax + 8]
mov dword [eax + 0x60], ecx
mov eax, dword [0x434554]
mov cl, byte [ebp - 0x171]
mov eax, dword [esi + eax + 8]
mov byte [eax + 0x52], cl
movzx eax, byte [0x432901]
mov ecx, dword [0x434554]
push eax
movzx eax, byte [0x432900]
push eax
movzx eax, byte [0x4328fc]
mov ecx, dword [esi + ecx + 8]
push eax
movzx eax, byte [0x4328fe]
push eax
movzx eax, byte [0x4328ff]
push eax
movzx eax, byte [0x4328fd]
push eax
push edi
call fcn.00410f90
push dword [ebp - 0x1b8]
movzx eax, byte [0x434541]
mov ecx, dword [0x434554]
push eax
push dword [ebp - 0x1e0]
push dword [ebp - 0x1c4]
mov ecx, dword [esi + ecx + 8]
push dword [0x43290c]
push dword [0x432914]
push dword [0x432910]
push dword [0x432904]
push dword [ebp - 0x17c]
call fcn.00411480
push dword [0x432914]
mov ecx, dword [0x434554]
push dword [ebp - 0x188]
push dword [ebp - 0x18c]
mov ecx, dword [esi + ecx + 8]
push dword [ebp - 0x1c8]
push dword [ebp - 0x14c]
push dword [ebp - 0x178]
push dword [ebp - 0x19c]
push 0
push dword [ebp - 0x1ac]
push edi
call fcn.00411820
cmp byte [ebp - 0x114], 0
je 0x41c788
mov eax, dword [0x434554]
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x12c], 0
mov edi, dword [esi + eax + 8]
mov eax, dword [0x4342d0]
mov ecx, eax
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x10c], eax
mov edx, dword [eax + 4]
mov dword [ebp - 0x190], edx
cmp byte [edx + 0xd], 0
jne 0x41c6a4
mov edi, dword [edi + 0x60]
mov eax, edx
nop word [eax + eax]
mov dword [ebp - 0x190], eax
cmp dword [eax + 0x10], edi
jge 0x41c68a
mov eax, dword [eax + 8]
mov dword [ebp - 0x12c], 0
jmp 0x41c698
mov ecx, eax
mov dword [ebp - 0x12c], 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x41c670
mov edi, dword [ebp - 0x110]
cmp byte [ecx + 0xd], 0
jne 0x41c6b6
mov eax, dword [edi + 0x60]
cmp eax, dword [ecx + 0x10]
jge 0x41c779
cmp dword [0x4342d4], 0x28f5c28
je 0x41d4b7
mov dword [ebp - 0x134], 0x4342d0
push 0x64
mov byte [ebp - 4], 8
mov dword [ebp - 0x130], 0
call fcn.00401510
mov ecx, dword [ebp - 0x110]
mov edi, eax
push 0x50
push 0
mov byte [ebp - 4], 4
mov ecx, dword [ecx + 0x60]
lea esi, [edi + 0x14]
push esi
mov dword [edi + 0x10], ecx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp - 0x10c]
add esp, 0x10
mov dword [esi + 0x10], 0
mov ecx, 0x4342d0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push edi
push dword [ebp - 0x12c]
mov dword [esi + 0x28], 0
push dword [ebp - 0x190]
mov dword [esi + 0x2c], 0xf
mov byte [esi + 0x18], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0xf
mov byte [esi + 0x30], 0
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov word [edi + 0xc], 0
mov dword [ebp - 0x130], 0
call fcn.004032d0
mov esi, dword [ebp - 0x158]
mov ecx, eax
mov eax, dword [ebp - 0x124]
mov edi, dword [ebp - 0x164]
mov dword [ecx + 0x5c], eax
mov eax, dword [0x434554]
inc edi
mov cl, byte [ebp - 0x1f0]
mov dword [ebp - 0x164], edi
mov eax, dword [esi + eax + 8]
mov byte [eax + 0x51], cl
mov eax, dword [0x434554]
mov cl, byte [ebp - 0x172]
mov eax, dword [esi + eax + 8]
mov byte [eax + 0x53], cl
mov eax, dword [0x434554]
mov dword [esi + eax + 0xc], 0
add esi, 0x34
mov dword [ebp - 0x158], esi
cmp edi, dword [0x43453c]
jb 0x41c4d0
push 0x24
call fcn.0041e5e9
mov esi, eax
add esp, 4
mov dword [ebp - 0x1d8], esi
mov byte [ebp - 4], 9
test esi, esi
je 0x41c802
push 0
push 3
mov ecx, esi
call fcn.00401040
mov dword [esi], vtable.actThread.0
jmp 0x41c804
xor esi, esi
mov al, byte [ebp - 0x1f8]
push 2
mov byte [ebp - 4], 4
mov dword [0x434550], esi
mov byte [0x43454c], al
call dword [ebp - 0x108]
add esp, 4
mov ecx, str.Logging_in_to_tokens..._n
cmp byte [ebp - 0x151], 0
jne 0x41c837
mov ecx, str._nPassword_not_provided__using_public_key_operations_only_n
push ecx
push eax
call fcn.004148f0
mov eax, dword [ebp - 0x198]
add esp, 8
mov esi, dword [eax]
mov dword [ebp - 0x14c], esi
cmp esi, eax
je 0x41c9ee
nop word [eax + eax]
push dword [esi + 0x10]
lea edi, [esi + 0x14]
push str.__slot__3lu...
push 2
mov dword [ebp - 0x124], edi
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 0xc
cmp byte [ebp - 0x151], 0
je 0x41c8eb
lea eax, [edi + 0x20]
push eax
push 0
push str.multitoken
push 6
push dword [ebp - 0x148]
call sub.cryptoki.dll_C_OpenSession
add esp, 0x14
mov dword [ebp - 0x17c], eax
test eax, eax
jne 0x41ca9c
mov ecx, dword [ebp - 0x1f4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41c8c0
sub ecx, edx
push ecx
push dword [ebp - 0x1f4]
push 1
push dword [edi + 0x20]
call sub.cryptoki.dll_C_Login
add esp, 0x10
mov dword [ebp - 0x17c], eax
test eax, eax
jne 0x41ca85
lea eax, [ebp - 0x100]
push eax
push dword [ebp - 0x148]
call sub.cryptoki.dll_C_GetTokenInfo
add esp, 8
mov dword [ebp - 0x17c], eax
test eax, eax
jne 0x41caca
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [edi], xmm0
mov byte [edi + 0x10], al
sub edi, 0xfffffff1
lea eax, [esi + 0x14]
cmp eax, edi
jae 0x41c94c
mov esi, dword [ebp - 0x124]
nop dword [eax + eax]
movzx eax, byte [edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
add esp, 4
test eax, eax
je 0x41c946
dec edi
cmp esi, edi
jb 0x41c930
mov esi, dword [ebp - 0x14c]
mov byte [edi + 1], 0
lea edi, [esi + 0x14]
push edi
push str.____Serial_Number__s_n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
mov eax, dword [0x434328]
add esp, 0xc
test eax, eax
je 0x41c98b
push edi
push dword [ebp - 0x148]
push str.Slot__d__Serial_Number__s_n
push eax
call fcn.004148f0
add esp, 0x10
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x41c9ba
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x41c9b0
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x41c9b0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x41c9a0
mov esi, eax
mov dword [ebp - 0x14c], esi
jmp 0x41c9e2
mov esi, eax
mov dword [ebp - 0x14c], esi
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x41c9e2
nop word [eax + eax]
mov eax, dword [ecx]
mov esi, ecx
mov dword [ebp - 0x14c], esi
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x41c9d0
cmp esi, dword [ebp - 0x198]
jne 0x41c860
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
push 0x419040
push 2
call esi
push 0x419040
push 0xf
call esi
add esp, 0x10
mov dword [ebp - 0x17c], 0
cmp dword [0x43453c], 0
jbe 0x41cc57
mov ecx, dword [ebp - 0x16c]
xor esi, esi
mov dword [ebp - 0x1b8], esi
mov dword [ebp - 0x14c], ecx
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [0x434554]
mov dword [esi + eax + 4], 0
xor esi, esi
mov eax, dword [ebp - 0x198]
mov edx, eax
mov dword [ebp - 0x124], eax
mov edi, dword [eax + 4]
cmp byte [edi + 0xd], 0
jne 0x41cb17
mov ecx, dword [ecx]
mov eax, edi
nop
mov edi, eax
cmp dword [eax + 0x10], ecx
jae 0x41cafe
mov eax, dword [eax + 8]
xor esi, esi
jmp 0x41cb07
push eax
call fcn.0041e470
add esp, 4
push eax
push dword [ebp - 0x17c]
push str._nError__08lx___s__on_C_Login_as_user_n
jmp 0x41cab1
push eax
call fcn.0041e470
add esp, 4
push eax
push dword [ebp - 0x17c]
push str._nError__08lx___s__on_C_OpenSession__n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 0x10
jmp 0x41d3ae
push dword [ebp - 0x148]
push eax
call fcn.0041e470
add esp, 4
push eax
push dword [ebp - 0x17c]
push str._nError__08lx___s__on_C_GetTokenInfo_for_slot__d__n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 0x14
jmp 0x41d3ae
mov edx, eax
mov esi, 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x41ca70
mov ecx, dword [ebp - 0x14c]
cmp byte [edx + 0xd], 0
jne 0x41cb28
mov eax, dword [ecx]
cmp eax, dword [edx + 0x10]
jae 0x41cbaa
cmp dword [ebp - 0x194], 0x4924924
je 0x41d4b7
lea eax, [ebp - 0x198]
mov dword [ebp - 0x134], eax
push 1
mov ecx, eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x130], 0
call fcn.00416830
mov ecx, dword [ebp - 0x14c]
xorps xmm0, xmm0
push eax
push esi
push edi
mov ecx, dword [ecx]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x124]
movups xmmword [eax + 0x14], xmm0
mov byte [ebp - 4], 4
movups xmmword [eax + 0x24], xmm0
mov dword [eax + 0x34], 0
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x198]
mov word [eax + 0xc], 0
mov dword [ebp - 0x130], 0
call fcn.004032d0
mov edx, eax
push dword [ebp - 0x208]
mov esi, dword [ebp - 0x1b8]
push dword [ebp - 0x204]
mov ecx, dword [0x434554]
movups xmm0, xmmword [edx + 0x14]
push 0x434338
mov edi, dword [ebp - 0x17c]
movups xmmword [esi + ecx + 0x14], xmm0
movups xmm0, xmmword [edx + 0x24]
movups xmmword [esi + ecx + 0x24], xmm0
movzx eax, byte [0x432901]
push dword [0x434538]
mov ecx, dword [0x434554]
push eax
movzx eax, byte [0x432900]
push eax
movzx eax, byte [0x4328ff]
push eax
movzx eax, byte [0x4328fe]
push eax
movzx eax, byte [0x4328fd]
push eax
movzx eax, byte [0x4328fc]
push eax
push dword [esi + ecx + 4]
push dword [esi + ecx]
mov ecx, dword [esi + ecx + 8]
push edi
call fcn.00402870
mov ecx, dword [ebp - 0x14c]
inc edi
add ecx, 4
mov dword [ebp - 0x17c], edi
add esi, 0x34
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x1b8], esi
cmp edi, dword [0x43453c]
jb 0x41ca40
xor ecx, ecx
mov dword [ebp - 0x148], ecx
cmp dword [0x43453c], ecx
jbe 0x41cdae
mov esi, dword [0x434554]
xor edi, edi
mov eax, dword [edi + esi + 8]
cmp dword [eax + 0x28], 1
je 0x41ccaa
nop dword [eax]
mov eax, dword [edi + esi + 8]
cmp dword [eax + 0x24], 0
jne 0x41cca4
push 1
call fcn.00401170
mov esi, dword [0x434554]
add esp, 4
mov eax, dword [edi + esi + 8]
cmp dword [eax + 0x28], 1
jne 0x41cc80
mov ecx, dword [ebp - 0x148]
mov eax, dword [edi + esi + 8]
cmp dword [eax + 0x24], 0
je 0x41cd90
cmp byte [0x43431a], 0
jne 0x41ccd6
lea eax, [ebp - 0x1d4]
push eax
call fcn.00418080
mov esi, dword [0x434554]
add esp, 4
lea eax, [esi + 0x14]
add eax, edi
push eax
push dword [edi + esi]
mov eax, dword [edi + esi + 8]
push dword [ebp - 0x148]
push dword [eax + 0x24]
call fcn.0041e470
add esp, 4
push eax
mov eax, dword [edi + esi + 8]
mov esi, dword [ebp - 0x108]
push dword [eax + 0x24]
push str._nAborting_tests_due_to_error__08lx___s__on_thread__u__slot__u__serial_number__s__n
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
push 2
call esi
push eax
call dword [ebp - 0x180]
add esp, 0x24
cmp dword [0x434328], 0
je 0x41cd76
mov esi, dword [0x434554]
lea eax, [esi + 0x14]
add eax, edi
push eax
push dword [edi + esi]
mov eax, dword [edi + esi + 8]
push dword [ebp - 0x148]
push dword [eax + 0x24]
call fcn.0041e470
add esp, 4
push eax
mov eax, dword [edi + esi + 8]
push dword [eax + 0x24]
push str._nAborting_tests_due_to_error__08lx___s__on_thread__u__slot__u__serial_number__s__n
push dword [0x434328]
call fcn.004148f0
push dword [0x434328]
call dword [ebp - 0x180]
add esp, 0x20
mov esi, dword [0x434554]
mov ecx, dword [ebp - 0x148]
mov byte [0x434560], 1
mov byte [0x43431a], 1
inc ecx
add edi, 0x34
mov dword [ebp - 0x148], ecx
cmp ecx, dword [0x43453c]
jb 0x41cc73
mov esi, dword [ebp - 0x1d4]
jmp 0x41cdb0
xor esi, esi
cmp byte [0x43431a], 0
je 0x41cdc9
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp byte [0x434560], 0
jne 0x41d276
cmp byte [ebp - 0x116], 0
mov esi, dword [ebp - 0x108]
jne 0x41cdfa
push str._Press_ENTER_to_terminate_testing.
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
add esp, 8
push 0x4271bc
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
mov edi, dword [ebp - 0x150]
push edi
call fcn.00409de0
add esp, 0xc
push eax
push str.______s:
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
push edi
call fcn.00409fc0
add esp, 0x10
test eax, eax
je 0x41ce5a
push edi
call fcn.00409fc0
add esp, 4
push eax
push str.__packet_size___d_bytes_
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
add esp, 0xc
push 0x4292b8
push 2
call esi
add esp, 4
push eax
call fcn.004148f0
mov esi, dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 8
cmp dword [0x434328], 0
je 0x41cee6
push 0
call esi
push edi
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edx
call fcn.00409fe0
add esp, 8
push eax
push edi
call fcn.00409de0
add esp, 4
push eax
push str.Test:__s___s___time__performance___n
push dword [0x434328]
call fcn.004148f0
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64]
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_asctime]
push eax
push str.Time:__s_n
push dword [0x434328]
call fcn.004148f0
push dword [0x434328]
call dword [ebp - 0x180]
add esp, 0x28
cmp dword [0x43432c], 0
je 0x41d03c
push 0
call esi
sub esp, 0x14
mov ecx, esp
push 6
push str.Result
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.004037e0
mov ecx, dword [ebp - 0x1b0]
call fcn.0041de50
push edi
call fcn.00409de0
sub esp, 0x14
mov esi, eax
mov edx, esp
mov dword [ebp - 0x1d8], esp
mov ecx, esi
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
lea edi, [ecx + 1]
mov byte [edx], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41cf50
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.004037e0
sub esp, 0x18
mov byte [ebp - 4], 0xb
mov ecx, esp
push 4
push str.Mode
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.004037e0
mov ecx, dword [ebp - 0x1b0]
mov byte [ebp - 4], 4
call fcn.0041db20
mov edi, dword [ebp - 0x150]
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x1d8], esp
push edi
call fcn.00409fc0
push eax
push esi
call fcn.00419070
sub esp, 0xc
mov byte [ebp - 4], 0xc
mov ecx, esp
push 0xa
push str.PacketSize
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.004037e0
mov ecx, dword [ebp - 0x1b0]
mov byte [ebp - 4], 4
call fcn.0041db20
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x1d8], esp
push dword [ebp - 0x1a4]
push eax
call fcn.00419070
sub esp, 0x10
mov byte [ebp - 4], 0xd
mov ecx, esp
push 7
push str.Threads
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.004037e0
mov ecx, dword [ebp - 0x1b0]
mov byte [ebp - 4], 4
call fcn.0041db20
mov esi, dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
push dword [ebp - 0x1f8]
push edi
push dword [0x43453c]
call fcn.00415d10
mov ecx, dword [0x434550]
add esp, 0xc
mov eax, dword [ecx]
mov eax, dword [eax]
cmp eax, fcn.004153a0
jne 0x41d069
call fcn.004153a0
jmp 0x41d06b
call eax
mov eax, dword [str.tester]
xor edi, edi
mov dword [ebp - 0xb0], eax
mov ecx, 0x427177
mov ax, word [0x429314]
mov word [ebp - 0xac], ax
mov al, byte [0x429316]
mov byte [ebp - 0xaa], al
lea eax, [ebp - 0xb0]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41d0c0
test dl, dl
je 0x41d0bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41d0c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41d0a0
xor eax, eax
jmp 0x41d0c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x41d276
nop dword [eax]
cmp byte [0x432902], 0
je 0x41d276
push 1
call fcn.00401170
inc edi
add esp, 4
cmp byte [0x43431b], 0
mov dword [ebp - 0x124], edi
je 0x41d12a
xor edx, edx
mov eax, edi
div dword [ebp - 0x1fc]
test edx, edx
jne 0x41d12a
cmp byte [0x43431a], dl
je 0x41d12a
push 7
push 7
push str._c_c
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
add esp, 0x10
cmp byte [ebp - 0x116], 0
jne 0x41d18d
mov esi, dword [ebp - 0x108]
push 2
call esi
push eax
call dword [ebp - 0x180]
push 0
call esi
push eax
lea eax, [ebp - 0xb0]
push 0x50
push eax
call dword [ebp - 0x168]
add esp, 0x18
test eax, eax
je 0x41d184
lea ecx, [ebp - 0xb0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d168
sub ecx, edx
dec ecx
cmp ecx, 0x50
jae 0x41d4b2
mov byte [ebp + ecx - 0xb0], al
jmp 0x41d1ed
mov byte [ebp - 0xb0], 0x74
jmp 0x41d1ed
push 0
call esi
push 0
mov esi, eax
mov edi, edx
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 8
sub eax, esi
sbb edx, edi
test edx, edx
jg 0x41d1e0
jl 0x41d1b2
cmp eax, dword [ebp - 0x1d0]
jae 0x41d1e0
push 1
call fcn.00401170
add esp, 4
cmp byte [0x432902], 0
je 0x41d1e0
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
sub eax, esi
sbb edx, edi
js 0x41d1b2
jg 0x41d1e0
cmp eax, dword [ebp - 0x1d0]
jb 0x41d1b2
mov edi, dword [ebp - 0x124]
mov byte [ebp - 0xb0], 0
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0xb0]
push 0x429320
push eax
call fcn.0041d520
add esp, 0xc
cmp eax, 1
jne 0x41d237
mov eax, dword [ebp - 0x1d4]
cmp eax, dword [0x43453c]
jae 0x41d237
imul eax, eax, 0x34
add eax, dword [0x434554]
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xb1], 0
sete al
mov byte [ecx + 0xb1], al
mov ecx, 0x427177
lea eax, [ebp - 0xb0]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41d262
test dl, dl
je 0x41d25e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41d262
add eax, 2
add ecx, 2
test dl, dl
jne 0x41d242
xor eax, eax
jmp 0x41d267
sbb eax, eax
or eax, 1
test eax, eax
je 0x41d276
mov esi, dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
jmp 0x41d0d0
cmp dword [0x43432c], 0
mov byte [0x434560], 1
mov byte [0x4342c8], 1
mov byte [0x434543], 1
je 0x41d347
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x1d8], esp
mov dword [ebp - 0x124], esi
sub esp, 8
movss xmm0, dword [0x434548]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x427174
movsd qword [ebp - 0x134], xmm0
call fcn.00419100
add esp, 0xc
mov edi, eax
mov ecx, esi
push 0
push edi
call fcn.00415080
cmp dword [esi + 0x14], 0x10
jb 0x41d2e5
mov esi, dword [esi]
movsd xmm0, qword [ebp - 0x134]
lea eax, [edi + 1]
sub esp, 8
movsd qword [esp], xmm0
push 0x427174
push eax
push esi
call fcn.0041d4f0
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xe
push 5
push str.Value
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.004037e0
mov esi, dword [ebp - 0x1b0]
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.0041db20
mov ecx, esi
call fcn.0041daa0
mov ecx, esi
call fcn.0041da10
push str._n_nWaiting_for_threads_to_terminate._n
push 2
call dword [ebp - 0x108]
add esp, 4
push eax
call fcn.004148f0
xor edi, edi
add esp, 8
cmp dword [0x43453c], edi
jbe 0x41d3ae
xor esi, esi
nop dword [eax]
mov eax, dword [0x434554]
mov ecx, dword [esi + eax + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test al, al
jne 0x41d3a2
push 1
call fcn.00401170
mov eax, dword [0x434554]
add esp, 4
mov ecx, dword [esi + eax + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test al, al
je 0x41d384
inc edi
add esi, 0x34
cmp edi, dword [0x43453c]
jb 0x41d370
mov edx, dword [ebp - 0x198]
mov esi, dword [edx]
cmp esi, edx
je 0x41d416
nop word [eax + eax]
mov eax, dword [esi + 0x34]
test eax, eax
je 0x41d3d6
push eax
call sub.cryptoki.dll_C_CloseSession
mov edx, dword [ebp - 0x198]
add esp, 4
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x41d3fc
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x41d3f8
cmp esi, dword [eax + 8]
jne 0x41d3f8
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x41d3e8
mov esi, eax
jmp 0x41d412
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x41d412
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x41d406
cmp esi, edx
jne 0x41d3c0
xor esi, esi
cmp dword [0x43453c], esi
jbe 0x41d442
xor edi, edi
mov eax, dword [0x434554]
mov ecx, dword [edi + eax + 8]
test ecx, ecx
je 0x41d436
mov eax, dword [ecx]
push 1
call dword [eax + 8]
inc esi
add edi, 0x34
cmp esi, dword [0x43453c]
jb 0x41d422
mov ecx, dword [0x434550]
test ecx, ecx
je 0x41d453
mov eax, dword [ecx]
push 1
call dword [eax + 8]
push 0
call sub.cryptoki.dll_C_Finalize
add esp, 4
mov eax, dword [0x434328]
test eax, eax
je 0x41d47c
push eax
call dword [ebp - 0x180]
push dword [0x434328]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 8
lea ecx, [ebp - 0x198]
call fcn.00415210
mov eax, dword [ebp - 0x16c]
test eax, eax
je 0x41b75d
mov ecx, dword [ebp - 0x160]
sub ecx, eax
sar ecx, 2
push ecx
push eax
lea ecx, [ebp - 0x1ec]
call fcn.00418040
jmp 0x41b75d
call fcn.0041ebce
call fcn.00403500
int3