Function at 0x10017ef0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001be30
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
cmp byte [0x10057fd4], bl
je 0x10017f2f
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10057e70
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x10057e70
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x10024360
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call edi
mov dword [0x10057fd8], eax
cmp eax, ebx
je 0x100188ac
push 0x10024370
push eax
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call esi
mov dword [0x10057ee8], eax
push 0x10024388
mov eax, dword [0x10057fd8]
push eax
call esi
mov dword [0x10057f90], eax
push 0x10024394
mov ecx, dword [0x10057fd8]
push ecx
call esi
mov dword [0x10057f10], eax
push 0x100243ac
mov edx, dword [0x10057fd8]
push edx
call esi
mov dword [0x10057f4c], eax
push 0x100243b8
mov eax, dword [0x10057fd8]
push eax
call esi
mov dword [0x10057f94], eax
push 0x100243d0
mov ecx, dword [0x10057fd8]
push ecx
call esi
mov dword [0x10057ebc], eax
push 0x100243e0
mov edx, dword [0x10057fd8]
push edx
call esi
mov dword [0x10057eac], eax
push 0x100243ec
mov eax, dword [0x10057fd8]
push eax
call esi
mov dword [0x10057ed8], eax
push 0x100243f4
mov ecx, dword [0x10057fd8]
push ecx
call esi
mov dword [0x10057fa0], eax
push 0x10024400
mov edx, dword [0x10057fd8]
push edx
call esi
mov dword [0x10057fa8], eax
push 0x10024410
mov eax, dword [0x10057fd8]
push eax
call esi
mov dword [0x10057f80], eax
push 0x10024420
mov ecx, dword [0x10057fd8]
push ecx
call esi
mov dword [0x10057e8c], eax
push 0x10024438
mov edx, dword [0x10057fd8]
push edx
call esi
mov dword [0x10057eb4], eax
push 0x1002444c
mov eax, dword [0x10057fd8]
push eax
call esi
mov dword [0x10057f88], eax
push 0x1002445c
mov ecx, dword [0x10057fd8]
push ecx
call esi
mov dword [0x10057fb4], eax
push 0x10024468
mov edx, dword [0x10057fd8]
push edx
call esi
mov dword [0x10057f08], eax
push 0x10024478
mov eax, dword [0x10057fd8]
push eax
call esi
mov dword [0x10057f98], eax
push 0x10024488
mov ecx, dword [0x10057fd8]
push ecx
call esi
mov dword [0x10057f3c], eax
push 0x100244a4
mov edx, dword [0x10057fd8]
push edx
call esi
mov dword [0x10057f28], eax
push 0x100244c0
mov eax, dword [0x10057fd8]
push eax
call esi
mov dword [0x10057f60], eax
push 0x100244d4
mov ecx, dword [0x10057fd8]
push ecx
call esi
mov dword [0x10057ea0], eax
push 0x100244ec
mov edx, dword [0x10057fd8]
push edx
call esi
mov dword [0x10057eec], eax
push 0x10024504
mov eax, dword [0x10057fd8]
push eax
call esi
mov dword [0x10057eb8], eax
push 0x10024520
mov ecx, dword [0x10057fd8]
push ecx
call esi
mov dword [0x10057f18], eax
push 0x10024530
mov edx, dword [0x10057fd8]
push edx
call esi
mov dword [0x10057ef0], eax
push 0x10024548
mov eax, dword [0x10057fd8]
push eax
call esi
mov dword [0x10057f1c], eax
push 0x1002455c
mov ecx, dword [0x10057fd8]
push ecx
call esi
mov dword [0x10057e68], eax
push 0x10024574
mov edx, dword [0x10057fd8]
push edx
call esi
mov dword [0x10057ed4], eax
cmp eax, ebx
je 0x1001888a
cmp dword [0x10057ee8], ebx
je 0x1001888a
cmp dword [0x10057f90], ebx
je 0x1001888a
cmp dword [0x10057f10], ebx
je 0x1001888a
cmp dword [0x10057f4c], ebx
je 0x1001888a
cmp dword [0x10057f94], ebx
je 0x1001888a
cmp dword [0x10057ebc], ebx
je 0x1001888a
cmp dword [0x10057eac], ebx
je 0x1001888a
cmp dword [0x10057ed8], ebx
je 0x1001888a
cmp dword [0x10057fa0], ebx
je 0x1001888a
cmp dword [0x10057fa8], ebx
je 0x1001888a
cmp dword [0x10057f80], ebx
je 0x1001888a
cmp dword [0x10057e8c], ebx
je 0x1001888a
cmp dword [0x10057eb4], ebx
je 0x1001888a
cmp dword [0x10057f88], ebx
je 0x1001888a
cmp dword [0x10057fb4], ebx
je 0x1001888a
cmp dword [0x10057f08], ebx
je 0x1001888a
cmp dword [0x10057f98], ebx
je 0x1001888a
cmp dword [0x10057f3c], ebx
je 0x1001888a
cmp dword [0x10057f28], ebx
je 0x1001888a
cmp dword [0x10057f60], ebx
je 0x1001888a
cmp dword [0x10057ea0], ebx
je 0x1001888a
cmp dword [0x10057eec], ebx
je 0x1001888a
cmp dword [0x10057eb8], ebx
je 0x1001888a
cmp dword [0x10057f18], ebx
je 0x1001888a
cmp dword [0x10057ef0], ebx
je 0x1001888a
cmp dword [0x10057f1c], ebx
je 0x1001888a
cmp dword [0x10057e68], ebx
je 0x1001888a
push 0x100245a4
call edi
mov dword [0x10057fdc], eax
cmp eax, ebx
jne 0x100182d1
mov eax, dword [0x10057fd8]
push eax
jmp 0x100188a0
push 0x100245b4
push eax
call esi
mov dword [0x10057f78], eax
push 0x100245c4
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057fc0], eax
push 0x100245d8
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057ef4], eax
push 0x100245f4
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057e60], eax
push 0x10024604
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057f54], eax
push 0x1002461c
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057e9c], eax
push 0x10024628
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057f24], eax
push 0x10024648
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057f48], eax
push 0x10024658
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057ee4], eax
push 0x1002466c
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057f38], eax
push 0x10024678
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057ec0], eax
push 0x10024684
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057f7c], eax
push 0x10024690
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057fbc], eax
push 0x100246b0
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057f04], eax
push 0x100246cc
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057ec8], eax
push 0x100246e0
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057f68], eax
push 0x100246e8
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057e64], eax
push 0x100246f4
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057ee0], eax
push 0x10024704
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057f20], eax
push 0x10024710
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057ea8], eax
push 0x1002472c
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057e94], eax
push 0x10024740
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057ed0], eax
push 0x10024758
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057f8c], eax
push 0x10024770
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057ecc], eax
push 0x10024788
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057e90], eax
push 0x10024794
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057f5c], eax
push 0x100247a0
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057f2c], eax
push 0x100247bc
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057f44], eax
push 0x100247d8
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057ea4], eax
push 0x100247e4
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057efc], eax
push 0x10024804
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057f84], eax
push 0x10024820
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057f34], eax
push 0x1002482c
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057f00], eax
push 0x1002483c
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057f64], eax
push 0x10024848
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057ec4], eax
push 0x10024858
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057e98], eax
push 0x10024868
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057f30], eax
push 0x1002487c
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057f70], eax
cmp dword [0x10057f78], ebx
je 0x10018856
cmp dword [0x10057fc0], ebx
je 0x10018856
cmp dword [0x10057ef4], ebx
je 0x10018856
cmp dword [0x10057e60], ebx
je 0x10018856
cmp dword [0x10057f54], ebx
je 0x10018856
cmp dword [0x10057e9c], ebx
je 0x10018856
cmp dword [0x10057f24], ebx
je 0x10018856
cmp dword [0x10057f48], ebx
je 0x10018856
cmp dword [0x10057ee4], ebx
je 0x10018856
cmp dword [0x10057f38], ebx
je 0x10018856
cmp dword [0x10057ec0], ebx
je 0x10018856
cmp dword [0x10057f7c], ebx
je 0x10018856
cmp dword [0x10057fbc], ebx
je 0x10018856
cmp dword [0x10057f04], ebx
je 0x10018856
cmp dword [0x10057ec8], ebx
je 0x10018856
cmp dword [0x10057f68], ebx
je 0x10018856
cmp dword [0x10057e64], ebx
je 0x10018856
cmp dword [0x10057ee0], ebx
je 0x10018856
cmp dword [0x10057f20], ebx
je 0x10018856
cmp dword [0x10057ea8], ebx
je 0x10018856
cmp dword [0x10057e94], ebx
je 0x10018856
cmp dword [0x10057ed0], ebx
je 0x10018856
cmp dword [0x10057f8c], ebx
je 0x10018856
cmp dword [0x10057ecc], ebx
je 0x10018856
cmp dword [0x10057e90], ebx
je 0x10018856
cmp dword [0x10057f5c], ebx
je 0x10018856
cmp dword [0x10057f2c], ebx
je 0x10018856
cmp dword [0x10057f44], ebx
je 0x10018856
cmp dword [0x10057ea4], ebx
je 0x10018856
cmp dword [0x10057efc], ebx
je 0x10018856
cmp dword [0x10057f84], ebx
je 0x10018856
cmp dword [0x10057f34], ebx
je 0x10018856
cmp dword [0x10057f00], ebx
je 0x10018856
cmp dword [0x10057f64], ebx
je 0x10018856
cmp dword [0x10057ec4], ebx
je 0x10018856
cmp dword [0x10057e98], ebx
je 0x10018856
cmp dword [0x10057f30], ebx
je 0x10018856
cmp eax, ebx
je 0x10018856
mov dword [ebp - 4], ebx
push str.._smxengine.dll
call fcn.10019780
jmp 0x1001877b
mov dword [ebp - 4], 0xffffffff
call dword [0x10057eb4]
test eax, eax
jne 0x100187b4
mov edx, dword [0x10057fd8]
push edx
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov dword [0x10057fd8], ebx
mov eax, dword [0x10057fdc]
push eax
call esi
mov dword [0x10057fdc], ebx
jmp 0x100188ac
call dword [0x10057e8c]
call dword [0x10057f70]
call dword [0x10057f80]
push eax
call dword [0x10057fa0]
add esp, 4
mov dword [0x10057fd0], eax
cmp eax, ebx
jne 0x10018802
mov ecx, dword [0x10057fd8]
push ecx
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov dword [0x10057fd8], ebx
mov edx, dword [0x10057fdc]
push edx
call esi
mov dword [0x10057fdc], ebx
jmp 0x100188ac
inc dword [0x10057fe4]
mov ecx, dword [0x10057fcc]
cmp ecx, 1
jne 0x1001881a
push str.RSA_SM1_SHA1
jmp 0x10018824
cmp ecx, 2
jne 0x1001882e
push str.RSA_SM4_SHA1
push eax
call dword [0x10057ed4]
add esp, 8
mov byte [0x10057fd4], 1
push 0x10057e70
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10024894
push 4
call fcn.1000be40
add esp, 8
mov eax, dword [0x10057fd8]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov dword [0x10057fd8], ebx
mov ecx, dword [0x10057fdc]
push ecx
call esi
mov dword [0x10057fdc], ebx
jmp 0x100188ac
push 0x1002458c
push 4
call fcn.1000be40
add esp, 8
mov edx, dword [0x10057fd8]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x10057fd8], ebx
push 0x10057e70
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret