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

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0xe8
push esi
push edi
push 0x2b
xor esi, esi
mov dword [ebp - 0x4c], 0x3e
pop ecx
mov dword [ebp - 0x48], 0x16
mov eax, esi
mov dword [ebp - 0x44], 0xffffffb1
add ecx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, 3
jl 0x10018255
mov dword [ebp - 0x34], ecx
mov eax, esi
mov ecx, esi
inc eax
cmp eax, 0xdec
jl 0x1001827e
cmp byte [eax + str.cis.endpoint], cl
jne 0x10018266
mov edi, dword [str._Xwf]
jmp 0x1001828a
mov edi, dword [0x10027ef4]
or edi, 0xe9e1caeb
push 0x38
pop eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x70], eax
mov eax, esi
mov dword [ebp - 0x7c], 0x54
mov dword [ebp - 0x78], 0x22
mov dword [ebp - 0x74], 0x55
mov dword [ebp - 0x6c], 0xfffffefd
sub ecx, dword [ebp + eax*4 - 0x7c]
inc eax
cmp eax, 5
jl 0x100182b1
mov eax, edi
mov dword [ebp - 0x10], ecx
xor eax, 0xf8c8885c
mov dword [ebp - 0xc], eax
mov eax, esi
inc eax
cmp eax, 0x843
je 0x100182e9
cmp byte [eax + str.cis.endpoint], 0
jne 0x100182ca
cmp eax, 0x1ad0
jle 0x100182ee
call fcn.100177cb
jmp 0x100182f4
call fcn.100176b7
or edi, 0xe3777a14
call fcn.10017378
push 0x63
mov eax, str.cis.endpoint
mov dword [ebp - 0x68], 0x45
pop edx
mov ecx, esi
mov dword [ebp - 0x64], 0x39
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x60], 0x59
mov dword [ebp - 0x5c], 0xfffffef1
mov dword [ebp - 4], eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0xc], 0x1e33
add dword [ebp - 0xc], edx
inc eax
cmp dword [ebp - 0xc], 0x360
ja 0x10018345
movsx edx, byte [eax]
test edx, edx
jne 0x1001832f
jmp 0x1001834d
mov esi, edi
and esi, 0x84a65117
mov edi, esi
and edi, 0x5651273
mov dword [ebp - 0x50], edi
or edi, 0x632a444a
call fcn.1001796d
mov eax, dword [ebp - 8]
add eax, dword [ebp + ecx*4 - 0x68]
inc ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 8], eax
mov eax, str.cis.endpoint
cmp ecx, 4
jl 0x10018328
mov ecx, dword [ebp - 0x38]
mov edx, 0x216f
push 0x47
mov dword [ebp - 0xc], esi
xor esi, esi
pop edi
add edx, ecx
inc eax
cmp edx, 0x1fdf
ja 0x1001839f
movsx ecx, byte [eax]
test ecx, ecx
jne 0x1001838b
jmp 0x100183a4
call fcn.10017fdf
mov eax, dword [ebp - 0x50]
and eax, 0x4ca366bc
imul ecx, eax, 0x1a67c9c8
call fcn.1001748c
push 0xc
pop ecx
mov dword [ebp - 0x4c], ecx
mov eax, esi
mov dword [ebp - 0x48], 0x2a
mov dword [ebp - 0x44], 0xffffff84
add edi, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, 3
jl 0x100183cd
imul eax, dword [ebp - 0xc], 0xd5980a
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x68], 0x37
xorps xmm1, xmm1
mov dword [ebp - 0x64], 0x28
mov edi, esi
mov dword [ebp - 0x60], 0x1e
mov dword [ebp - 0x5c], 0xffffff83
movups xmm0, xmmword [ebp - 0x68]
mov dword [ebp - 0xc], ecx
imul eax, eax, 0x75a4343e
psubd xmm1, xmm0
mov dword [ebp - 0x8c], 0x54
movaps xmm0, xmm1
mov dword [ebp - 0x88], 0xffffffa0
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
add eax, 0x922aa349
psrldq xmm0, 4
mov dword [str._Xwf], eax
paddd xmm1, xmm0
or eax, 0x37003c95
movd dword [ebp - 0x14], xmm1
mov dword [ebp - 0x50], eax
mov eax, esi
inc eax
cmp eax, 0x4cd
jl 0x1001847c
cmp byte [eax + str.id_GostR3411_94_with_GostR3410_94], 0
jne 0x10018458
cmp eax, 0x5b2
jle 0x10018481
mov ecx, str.ossl_provider_set_operation_bit
call fcn.10017222
jmp 0x10018481
call fcn.10017b96
mov eax, dword [ebp - 0xc]
add eax, dword [ebp + edi*4 - 0x8c]
inc edi
mov dword [ebp - 0xc], eax
cmp edi, 2
jl 0x10018456
push 0x6f
mov dword [ebp - 0x4c], 0x30
mov edx, 0x17c9
mov dword [ebp - 0x48], 0x2e
mov eax, str.ossl_provider_set_operation_bit
mov dword [ebp - 0x44], 0xffffffa2
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x1ca5
ja 0x100184d1
movzx ecx, word [eax]
test ecx, ecx
jne 0x100184b6
mov eax, dword [str._Xwf]
jmp 0x100184e4
call fcn.10017dd8
mov ecx, dword [ebp - 0x50]
lea eax, [ecx + 0x4ea684cb]
mov dword [str._Xwf], eax
lea edi, [eax + 0x477238c5]
xor edi, 0xbd4543af
push ecx
mov dword [0x100290e4], edi
call fcn.10017a5e
pop ecx
mov eax, esi
mov ecx, esi
sub ecx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, 3
jl 0x10018501
push 0x5b
mov dword [ebp - 0x30], ecx
mov eax, esi
pop ecx
mov dword [ebp - 0x4c], 0x2b
mov dword [ebp - 0x48], 0x51
mov dword [ebp - 0x44], 0xffffff29
add ecx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, 3
jl 0x10018528
push 0xc
mov dword [ebp - 0x68], 0x1a
xorps xmm1, xmm1
pop edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], 0x10
mov dword [ebp - 0x5c], 0xffffffd1
movups xmm0, xmmword [ebp - 0x68]
mov dword [ebp - 0x68], 0x49
mov dword [ebp - 0x64], 0x54
psubd xmm1, xmm0
mov dword [ebp - 0x60], 0x24
movaps xmm0, xmm1
mov dword [ebp - 0x5c], 0xffffff0d
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x54], ecx
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x68]
add eax, 8
movaps xmm0, xmm1
mov dword [ebp - 0x50], eax
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x33
mov dword [ebp - 0x88], eax
cmp dword [0x10027f80], esi
je 0x10018645
push 0xa
pop edx
mov ecx, dword [str._Xwf]
add ecx, 0x3a728327
mov eax, dword [ebp - 0x38]
sub al, 0x30
cmp al, 9
ja 0x100185f4
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov al, byte [eax]
mov byte [ebp - 0x38], al
test al, al
jne 0x100185d9
jmp 0x10018600
mov eax, ecx
or eax, 0xed712a55
mov dword [0x100290e4], eax
and ecx, 0x73724a01
mov dword [0x10027ef4], ecx
call fcn.10017350
mov dword [ebp - 0x7c], 0x43
mov dword [ebp - 0x78], 0x25
mov dword [ebp - 0x74], 0x34
mov dword [ebp - 0x70], 0x46
mov dword [ebp - 0x6c], 0xffffff27
sub edx, dword [ebp + esi*4 - 0x7c]
inc esi
cmp esi, 5
jl 0x10018634
mov eax, edx
jmp 0x10018cbe
mov ecx, dword [ebp - 0x3c]
imul eax, edi, 0x7edd8c0f
or edi, 0x89a53b18
mov dword [0x100290e4], edi
mov dword [0x10027ef4], eax
mov eax, dword [ebp - 0x34]
mov eax, dword fs:[eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + ecx*4 + 8]
mov dword [ebp - 4], ecx
mov ecx, dword [ecx + 0x18]
cmp ecx, dword [ebp - 0x14]
je 0x10018788
lea eax, [edi - 0x5ca05ca3]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x98], 0x33
mov dword [ebp - 0x94], 0x58
mov dword [ebp - 0x90], 0xffffff1f
movups xmm2, xmmword [ebp - 0x9c]
mov dword [ebp - 0x84], 0x4d
mov dword [ebp - 0x80], 0xffffff79
mov dword [ebp - 0x34], eax
mov dword [0x10027ef4], eax
mov dword [ebp - 0xcc], 0x4b
mov dword [ebp - 0xc8], 0x47
mov dword [ebp - 0xc4], 0xffffff71
movups xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
push 0x3a
pop edx
add eax, 0x4a
mov dword [ebp - 0x3c], eax
mov eax, esi
add edx, dword [ebp + eax*4 - 0x84]
inc eax
cmp eax, 2
jl 0x1001870d
xor edi, edi
mov dword [ebp - 0x58], edx
inc edi
mov eax, esi
add edi, dword [ebp + eax*4 - 0xcc]
inc eax
cmp eax, 3
jl 0x10018722
mov edx, ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 8], edx
mov eax, dword [edx + 0x3c]
lea eax, [eax + ecx*8]
mov eax, dword [eax + edx + 0x78]
cmp eax, dword [ebp - 0x58]
je 0x1001876e
lea ecx, [eax + edx]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ecx + 0xc]
add ecx, edx
mov eax, dword [ecx]
or eax, 0x20202020
cmp eax, 0x6c64746e
jne 0x1001876e
mov eax, dword [ecx + edi]
or eax, 0x20202020
cmp eax, 0x6c642e6c
je 0x10018793
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 4], eax
mov ecx, dword [eax + 0x18]
cmp ecx, dword [ebp - 0x14]
jne 0x100186e3
jmp 0x10018793
mov eax, dword [0x10027ef4]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x100187c2
mov dword [ebp - 0x4c], 0x57
mov eax, esi
mov dword [ebp - 0x48], 0x19
mov dword [ebp - 0x44], 0xffffff90
sub esi, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, 3
jl 0x100187b1
mov eax, esi
jmp 0x10018cbe
mov ecx, dword [eax + 0x18]
mov edi, dword [0x100290e4]
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + 0x1c]
add ecx, edx
mov dword [0x100296d8], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa8], 9
mov dword [ebp - 0xa4], 0xfffffff1
mov ecx, edi
mov dword [ebp - 0x14], 7
mov edx, dword [ebp - 0x14]
or ecx, 0x77ce7369
mov eax, esi
mov dword [str._Xwf], ecx
add edx, dword [ebp + eax*4 - 0xa8]
inc eax
cmp eax, 2
jl 0x1001881a
mov eax, dword [ebp - 0xc]
sub eax, edx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x58]
mov eax, dword [edx + eax*4]
mov edx, 0x775a
add eax, dword [ebp - 8]
mov dword [ebp - 0x3c], eax
cmp word [eax], dx
jne 0x10018938
mov eax, dword [ebp - 0x38]
push 0x69
mov dword [ebp - 4], eax
mov eax, str.id_GostR3411_94_with_GostR3410_94
mov dword [ebp - 0x14], 0x2258
pop edx
add dword [ebp - 0x14], edx
inc eax
cmp dword [ebp - 0x14], 0x2578
ja 0x1001887d
movsx edx, byte [eax]
test edx, edx
jne 0x1001885e
mov ecx, dword [ebp - 0x34]
or ecx, 0xcef8af84
jmp 0x1001888c
mov eax, ecx
and eax, 0x5512554e
mov dword [ebp - 0x34], eax
mov dword [0x10027ef4], eax
sub edi, 0x4b030cc8
mov dword [ebp - 0xb0], 0x39
imul eax, ecx, 0x76c2b8de
mov ecx, dword [ebp - 4]
mov dword [0x100290e4], edi
mov dword [ebp - 0xac], 0xffffff65
mov dword [str._Xwf], eax
mov eax, esi
add ecx, dword [ebp + eax*4 - 0xb0]
inc eax
cmp eax, 2
jl 0x100188bc
mov dword [ebp - 4], ecx
mov eax, esi
mov ecx, 0x203a
mov dword [ebp - 0xd8], 0x3e
mov dword [ebp - 0xd4], 0xa
mov dword [ebp - 0xd0], 0x1dcc
sub ecx, dword [ebp + eax*4 - 0xd8]
inc eax
cmp eax, 3
jl 0x100188f1
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x3c]
call fcn.100180dc
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x10]
mov dword [ecx*8 + 0x10027f84], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 4]
movzx eax, word [edx + eax*2]
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + eax*4]
mov dword [ecx*8 + 0x10027f88], eax
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, dword [ebp - 0x14]
je 0x10018945
jmp 0x1001893b
mov ecx, dword [ebp - 0x30]
sub dword [ebp - 0xc], 1
jne 0x10018800
mov eax, ecx
mov dword [0x10027f80], ecx
sub eax, dword [ebp - 0x50]
cmp dword [ebp - 0x54], eax
jae 0x10018cb8
movzx eax, byte [str.unmasked_credit_cards]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xb8], 0x5e
mov dword [ebp - 0xb4], 0xffffff4c
mov dword [ebp - 8], esi
mov dword [ebp - 0xa0], 0x5a
mov dword [ebp - 0x9c], 0x5f
mov dword [ebp - 0x98], 0x4c
mov dword [ebp - 0x94], 0x29
mov dword [ebp - 0x90], 0xfffffed2
mov dword [ebp - 0x40], esi
mov ecx, dword [ebp - 0x58]
lea edx, [edi + 0x3fa12bae]
mov dword [ebp - 0x10], 0x163c
mov eax, str.unmasked_credit_cards
jmp 0x100189de
mov ecx, dword [ebp - 0x10]
inc eax
add ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
cmp ecx, 0x1a3c
mov ecx, dword [ebp - 8]
ja 0x100189ea
movzx ecx, byte [eax]
test ecx, ecx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 8]
jne 0x100189c6
jmp 0x100189f2
mov edi, edx
xor edi, 0x20596cc2
mov eax, edx
or eax, 0x6caec76b
sub ecx, dword [ebp + esi*4 - 0xa0]
xor edx, 0x5971b8c9
inc esi
mov dword [str._Xwf], edx
mov dword [ebp - 8], ecx
cmp esi, 5
jl 0x100189af
mov dword [ebp - 0x34], 0x57
xor esi, esi
mov cl, byte [ebp - 0x38]
mov dword [ebp - 0x10], str.cis.endpoint
sub cl, 0x30
cmp cl, 9
ja 0x10018a3f
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
mov cl, byte [ecx]
test cl, cl
jne 0x10018a28
jmp 0x10018a45
lea eax, [edi - 0x3f9f2648]
mov cl, byte [ebp - 0x38]
imul edi, eax, 0xcdf6c989
mov dword [ebp - 0x10], str.cis.endpoint
sub cl, 0x30
cmp cl, 9
ja 0x10018a6c
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
mov cl, byte [ecx]
test cl, cl
jne 0x10018a55
jmp 0x10018a78
lea edx, [edi + 0x1377f20e]
mov dword [str._Xwf], edx
mov ecx, dword [ebp - 0x34]
add eax, 0x276767be
add ecx, dword [ebp + esi*4 - 0xb8]
inc esi
mov dword [ebp - 0x34], ecx
cmp esi, 2
jl 0x10018a1e
mov dword [0x10027ef4], eax
mov eax, dword [ebp - 0x30]
sub eax, ecx
mov dword [0x100290e4], edi
sub eax, dword [ebp - 0x54]
push 0
pop esi
cmp dword [ebp - 8], eax
jae 0x10018ca3
mov dword [ebp - 0xe8], 0x33
mov dword [ebp - 0xe4], 0x4d
mov dword [ebp - 0xe0], 0x2d
mov dword [ebp - 0xdc], 0xffffff61
add edx, 0x41294a88
mov dword [ebp - 4], 0xf
mov ecx, dword [ebp - 4]
mov eax, esi
mov dword [ebp - 0x40], edx
mov dword [str._Xwf], edx
sub ecx, dword [ebp + eax*4 - 0xe8]
inc eax
cmp eax, 4
jl 0x10018af2
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ecx*8 + 0x10027f88]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
add eax, ecx
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax*8 + 0x10027f88]
mov ecx, dword [ebp - 8]
jbe 0x10018c8e
push 0xe
pop edi
mov dword [ebp - 0x64], 0x11
mov eax, esi
mov dword [ebp - 0x60], 0x54
mov dword [ebp - 0x5c], 0xffffffa8
sub edi, dword [ebp + eax*4 - 0x64]
inc eax
cmp eax, 3
jl 0x10018b41
push 0xe
mov dword [ebp - 0x3c], edi
mov eax, esi
pop edi
mov dword [ebp - 0xc0], 9
mov dword [ebp - 0xbc], 0xffffffea
add edi, dword [ebp + eax*4 - 0xc0]
inc eax
cmp eax, 2
jl 0x10018b67
mov dword [ebp - 0x78], 0x61
xorps xmm1, xmm1
mov dword [ebp - 0x74], 3
mov dword [ebp - 0x70], 0x18
mov dword [ebp - 0x6c], 0xffffff91
movups xmm0, xmmword [ebp - 0x78]
push 0x1b
mov dword [ebp - 0x14], edi
psubd xmm1, xmm0
mov dword [ebp - 0x48], 0x43
movaps xmm0, xmm1
mov dword [ebp - 0x44], 0xffffffa3
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop edi
add eax, 0xe
mov dword [ebp - 0xc], eax
mov eax, esi
add edi, dword [ebp + eax*4 - 0x48]
inc eax
cmp eax, 2
jl 0x10018bd3
mov eax, dword [ecx*8 + 0x10027f84]
push 0x69
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x30], eax
mov eax, str.id_GostR3411_94_with_GostR3410_94
mov dword [ebp - 4], 0x218
pop edi
add dword [ebp - 4], edi
inc eax
cmp dword [ebp - 4], 0x1d36
ja 0x10018c0f
movsx edi, byte [eax]
test edi, edi
jne 0x10018bf9
jmp 0x10018c24
call fcn.10017ac2
mov ecx, str.ossl_provider_set_operation_bit
call fcn.10017222
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x30]
add eax, ecx
mov eax, dword [eax*8 + 0x10027f84]
mov dword [ecx*8 + 0x10027f84], eax
mov eax, dword [ebp - 0x14]
add eax, ecx
mov eax, dword [eax*8 + 0x10027f88]
mov dword [ecx*8 + 0x10027f88], eax
mov eax, dword [ebp - 0xc]
add eax, ecx
mov dword [eax*8 + 0x10027f84], edi
lea eax, [edx - 0x14468836]
mov dword [0x10027ef4], eax
mov edi, edx
mov eax, dword [ebp - 0x80]
xor edi, 0xd8fcc2a2
add eax, ecx
mov dword [0x100290e4], edi
mov ecx, dword [ebp - 0x10]
mov dword [eax*8 + 0x10027f88], ecx
mov eax, dword [0x10027f80]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x30], eax
jmp 0x10018c91
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x34]
inc ecx
sub eax, dword [ebp - 0x54]
mov dword [ebp - 8], ecx
cmp ecx, eax
jb 0x10018ad7
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x30]
inc eax
sub ecx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
cmp eax, ecx
jb 0x10018977
mov eax, dword [ebp - 0x88]
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret