Function at 0x40b550
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40ee20
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 [0x417008], bl
je 0x40b58f
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 0x416ea0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x416ea0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x414204
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call edi
mov dword [0x41700c], eax
cmp eax, ebx
je 0x40bf0f
push 0x414214
push eax
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call esi
mov dword [0x416f18], eax
push 0x41422c
mov eax, dword [0x41700c]
push eax
call esi
mov dword [0x416fc0], eax
push 0x414238
mov ecx, dword [0x41700c]
push ecx
call esi
mov dword [0x416f40], eax
push 0x414250
mov edx, dword [0x41700c]
push edx
call esi
mov dword [0x416f7c], eax
push 0x41425c
mov eax, dword [0x41700c]
push eax
call esi
mov dword [0x416fc4], eax
push 0x414274
mov ecx, dword [0x41700c]
push ecx
call esi
mov dword [0x416eec], eax
push 0x414284
mov edx, dword [0x41700c]
push edx
call esi
mov dword [0x416edc], eax
push 0x414290
mov eax, dword [0x41700c]
push eax
call esi
mov dword [0x416f08], eax
push 0x414298
mov ecx, dword [0x41700c]
push ecx
call esi
mov dword [0x416fd0], eax
push 0x4142a4
mov edx, dword [0x41700c]
push edx
call esi
mov dword [0x416fd8], eax
push 0x4142b4
mov eax, dword [0x41700c]
push eax
call esi
mov dword [0x416fb0], eax
push 0x4142c4
mov ecx, dword [0x41700c]
push ecx
call esi
mov dword [0x416ebc], eax
push 0x4142dc
mov edx, dword [0x41700c]
push edx
call esi
mov dword [0x416ee4], eax
push 0x4142f0
mov eax, dword [0x41700c]
push eax
call esi
mov dword [0x416fb8], eax
push 0x414300
mov ecx, dword [0x41700c]
push ecx
call esi
mov dword [0x416fe4], eax
push 0x41430c
mov edx, dword [0x41700c]
push edx
call esi
mov dword [0x416f38], eax
push 0x41431c
mov eax, dword [0x41700c]
push eax
call esi
mov dword [0x416fc8], eax
push 0x41432c
mov ecx, dword [0x41700c]
push ecx
call esi
mov dword [0x416f6c], eax
push 0x414348
mov edx, dword [0x41700c]
push edx
call esi
mov dword [0x416f58], eax
push 0x414364
mov eax, dword [0x41700c]
push eax
call esi
mov dword [0x416f90], eax
push 0x414378
mov ecx, dword [0x41700c]
push ecx
call esi
mov dword [0x416ed0], eax
push 0x414390
mov edx, dword [0x41700c]
push edx
call esi
mov dword [0x416f1c], eax
push 0x4143a8
mov eax, dword [0x41700c]
push eax
call esi
mov dword [0x416ee8], eax
push 0x4143c4
mov ecx, dword [0x41700c]
push ecx
call esi
mov dword [0x416f48], eax
push 0x4143d4
mov edx, dword [0x41700c]
push edx
call esi
mov dword [0x416f20], eax
push 0x4143ec
mov eax, dword [0x41700c]
push eax
call esi
mov dword [0x416f4c], eax
push 0x414400
mov ecx, dword [0x41700c]
push ecx
call esi
mov dword [0x416e98], eax
push 0x414418
mov edx, dword [0x41700c]
push edx
call esi
mov dword [0x416f04], eax
cmp eax, ebx
je 0x40beed
cmp dword [0x416f18], ebx
je 0x40beed
cmp dword [0x416fc0], ebx
je 0x40beed
cmp dword [0x416f40], ebx
je 0x40beed
cmp dword [0x416f7c], ebx
je 0x40beed
cmp dword [0x416fc4], ebx
je 0x40beed
cmp dword [0x416eec], ebx
je 0x40beed
cmp dword [0x416edc], ebx
je 0x40beed
cmp dword [0x416f08], ebx
je 0x40beed
cmp dword [0x416fd0], ebx
je 0x40beed
cmp dword [0x416fd8], ebx
je 0x40beed
cmp dword [0x416fb0], ebx
je 0x40beed
cmp dword [0x416ebc], ebx
je 0x40beed
cmp dword [0x416ee4], ebx
je 0x40beed
cmp dword [0x416fb8], ebx
je 0x40beed
cmp dword [0x416fe4], ebx
je 0x40beed
cmp dword [0x416f38], ebx
je 0x40beed
cmp dword [0x416fc8], ebx
je 0x40beed
cmp dword [0x416f6c], ebx
je 0x40beed
cmp dword [0x416f58], ebx
je 0x40beed
cmp dword [0x416f90], ebx
je 0x40beed
cmp dword [0x416ed0], ebx
je 0x40beed
cmp dword [0x416f1c], ebx
je 0x40beed
cmp dword [0x416ee8], ebx
je 0x40beed
cmp dword [0x416f48], ebx
je 0x40beed
cmp dword [0x416f20], ebx
je 0x40beed
cmp dword [0x416f4c], ebx
je 0x40beed
cmp dword [0x416e98], ebx
je 0x40beed
push 0x414448
call edi
mov dword [0x417010], eax
cmp eax, ebx
jne 0x40b931
mov eax, dword [0x41700c]
push eax
jmp 0x40bf03
push 0x414458
push eax
call esi
mov dword [0x416fa8], eax
push 0x414468
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416ff0], eax
push 0x41447c
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416f24], eax
push 0x414498
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416e90], eax
push 0x4144a8
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416f84], eax
push 0x4144c0
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416ecc], eax
push 0x4144cc
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416f54], eax
push 0x4144ec
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416f78], eax
push 0x4144fc
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416f14], eax
push 0x414510
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416f68], eax
push 0x41451c
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416ef0], eax
push 0x414528
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416fac], eax
push 0x414534
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416fec], eax
push 0x414554
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416f34], eax
push 0x414570
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416ef8], eax
push 0x414584
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416f98], eax
push 0x41458c
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416e94], eax
push 0x414598
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416f10], eax
push 0x4145a8
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416f50], eax
push 0x4145b4
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416ed8], eax
push 0x4145d0
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416ec4], eax
push 0x4145e4
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416f00], eax
push 0x4145fc
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416fbc], eax
push 0x414614
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416efc], eax
push 0x41462c
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416ec0], eax
push 0x414638
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416f8c], eax
push 0x414644
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416f5c], eax
push 0x414660
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416f74], eax
push 0x41467c
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416ed4], eax
push 0x414688
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416f2c], eax
push 0x4146a8
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416fb4], eax
push 0x4146c4
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416f64], eax
push 0x4146d0
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416f30], eax
push 0x4146e0
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416f94], eax
push 0x4146ec
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416ef4], eax
push 0x4146fc
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x416ec8], eax
push 0x41470c
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x416f60], eax
push 0x414720
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x416fa0], eax
cmp dword [0x416fa8], ebx
je 0x40beb9
cmp dword [0x416ff0], ebx
je 0x40beb9
cmp dword [0x416f24], ebx
je 0x40beb9
cmp dword [0x416e90], ebx
je 0x40beb9
cmp dword [0x416f84], ebx
je 0x40beb9
cmp dword [0x416ecc], ebx
je 0x40beb9
cmp dword [0x416f54], ebx
je 0x40beb9
cmp dword [0x416f78], ebx
je 0x40beb9
cmp dword [0x416f14], ebx
je 0x40beb9
cmp dword [0x416f68], ebx
je 0x40beb9
cmp dword [0x416ef0], ebx
je 0x40beb9
cmp dword [0x416fac], ebx
je 0x40beb9
cmp dword [0x416fec], ebx
je 0x40beb9
cmp dword [0x416f34], ebx
je 0x40beb9
cmp dword [0x416ef8], ebx
je 0x40beb9
cmp dword [0x416f98], ebx
je 0x40beb9
cmp dword [0x416e94], ebx
je 0x40beb9
cmp dword [0x416f10], ebx
je 0x40beb9
cmp dword [0x416f50], ebx
je 0x40beb9
cmp dword [0x416ed8], ebx
je 0x40beb9
cmp dword [0x416ec4], ebx
je 0x40beb9
cmp dword [0x416f00], ebx
je 0x40beb9
cmp dword [0x416fbc], ebx
je 0x40beb9
cmp dword [0x416efc], ebx
je 0x40beb9
cmp dword [0x416ec0], ebx
je 0x40beb9
cmp dword [0x416f8c], ebx
je 0x40beb9
cmp dword [0x416f5c], ebx
je 0x40beb9
cmp dword [0x416f74], ebx
je 0x40beb9
cmp dword [0x416ed4], ebx
je 0x40beb9
cmp dword [0x416f2c], ebx
je 0x40beb9
cmp dword [0x416fb4], ebx
je 0x40beb9
cmp dword [0x416f64], ebx
je 0x40beb9
cmp dword [0x416f30], ebx
je 0x40beb9
cmp dword [0x416f94], ebx
je 0x40beb9
cmp dword [0x416ef4], ebx
je 0x40beb9
cmp dword [0x416ec8], ebx
je 0x40beb9
cmp dword [0x416f60], ebx
je 0x40beb9
cmp eax, ebx
je 0x40beb9
mov dword [ebp - 4], ebx
push str.._smxengine.dll
call fcn.0040cde0
add esp, 4
jmp 0x40bdde
mov dword [ebp - 4], 0xffffffff
call dword [0x416ee4]
test eax, eax
jne 0x40be17
mov edx, dword [0x41700c]
push edx
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov dword [0x41700c], ebx
mov eax, dword [0x417010]
push eax
call esi
mov dword [0x417010], ebx
jmp 0x40bf0f
call dword [0x416ebc]
call dword [0x416fa0]
call dword [0x416fb0]
push eax
call dword [0x416fd0]
add esp, 4
mov dword [0x417004], eax
cmp eax, ebx
jne 0x40be65
mov ecx, dword [0x41700c]
push ecx
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov dword [0x41700c], ebx
mov edx, dword [0x417010]
push edx
call esi
mov dword [0x417010], ebx
jmp 0x40bf0f
inc dword [0x417018]
mov ecx, dword [0x417000]
cmp ecx, 1
jne 0x40be7d
push str.RSA_SM1_SHA1
jmp 0x40be87
cmp ecx, 2
jne 0x40be91
push str.RSA_SM4_SHA1
push eax
call dword [0x416f04]
add esp, 8
mov byte [0x417008], 1
push 0x416ea0
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 0x414738
push 4
call fcn.00402250
add esp, 8
mov eax, dword [0x41700c]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov dword [0x41700c], ebx
mov ecx, dword [0x417010]
push ecx
call esi
mov dword [0x417010], ebx
jmp 0x40bf0f
push 0x414430
push 4
call fcn.00402250
add esp, 8
mov edx, dword [0x41700c]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x41700c], ebx
push 0x416ea0
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