Function at 0x4a9e4e
Capabilities:
Generate random numbers via winapi
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1a4
mov eax, dword [0x5184d0]
xor eax, esp
mov dword [esp + 0x1a0], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0xc]
push esi
xor esi, esi
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x14]
push edi
mov dword [esp + 0x34], eax
mov eax, dword [0x5199d8]
push 0x88
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x74]
push esi
push eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x58], esi
call sub.msvcrt.dll_memset
xor eax, eax
mov dword [esp + 0x54], esi
lea edi, [esp + 0x114]
mov dword [esp + 0x68], esi
stosd dword es:[edi], eax
add esp, 0xc
mov ebx, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0xf8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, esi
mov esi, 0x80092004
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xf8]
lea eax, [eax + edi*4]
mov edx, edi
push eax
lea eax, [esp + 0x10c]
lea eax, [eax + edi*4]
push eax
call fcn.004a8529
test eax, eax
je 0x4a9f39
push esi
push eax
push 0x18a8013e
call dword [sym.imp.certcli.dll_Ordinal_358]
add ebx, dword [esp + edi*4 + 0xf8]
cmp dword [esp + edi*4 + 0xf8], 0
je 0x4a9fb4
mov ecx, 0x98e
call fcn.004cf8b9
mov dword [esp + 0x10], eax
test edi, edi
je 0x4a9f76
cmp edi, 2
je 0x4a9f76
mov ecx, 0x990
call fcn.004cf8b9
test eax, eax
jne 0x4a9f8d
mov eax, 0x420988
jmp 0x4a9f8d
mov ecx, 0x98f
call fcn.004cf8b9
test eax, eax
jne 0x4a9f89
mov eax, 0x4208ac
test edi, edi
je 0x4a9f97
cmp edi, 1
je 0x4a9f97
push 3
pop ecx
jmp 0x4a9f9a
xor ecx, ecx
inc ecx
push dword [esp + edi*4 + 0xf8]
push dword [esp + 0x14]
push eax
push ecx
push 0x420de8
call fcn.004c5942
add esp, 0x14
inc edi
cmp edi, 4
jb 0x4a9f07
test ebx, ebx
mov ebx, dword [esp + 0x60]
jne 0x4a9fd7
push esi
push 0x18ba013e
call dword [sym.imp.certcli.dll_Ordinal_357]
jmp 0x4aaa42
xor esi, esi
mov edi, esi
mov eax, dword [esp + edi*4 + 0xf8]
test eax, eax
je 0x4aa0bc
mov dword [esp + 0x14], esi
mov esi, dword [esp + edi*4 + 0x108]
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4aa00c
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [esp + 0x24], ebx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4aa01f
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [esp + 0x20], ebx
mov ecx, dword [esi]
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x28]
call fcn.004a87cc
mov esi, eax
test esi, esi
jne 0x4aa11e
mov esi, dword [esp + 0x14]
cmp dword [0x51996c], ebx
je 0x4aa068
push dword [esp + 0x24]
push esi
push edi
push 0x420e0c
call fcn.004c5942
push dword [esp + 0x30]
push esi
push edi
push 0x420e30
call fcn.004c5942
add esp, 0x20
cmp dword [esp + 0x38], ebx
jne 0x4aa07a
mov eax, dword [esp + 0x24]
and dword [esp + 0x24], ebx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x4aa090
mov eax, dword [esp + 0x20]
and dword [esp + 0x20], ebx
mov dword [esp + 0x3c], eax
jmp 0x4aa09f
push dword [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x4aa0f3
add dword [esp + 0x10], 4
inc esi
cmp esi, dword [esp + edi*4 + 0xf8]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x10]
jb 0x4a9ff9
xor esi, esi
inc edi
cmp edi, 4
jb 0x4a9fdb
push 0xffffffffffffffff
push dword [esp + 0x68]
call dword [sym.imp.KERNEL32.dll_GetACP]
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.004c6584
test eax, eax
jne 0x4aa129
mov eax, 0x8007000e
push eax
mov esi, eax
push 0x18f2013e
jmp 0x4a9fcc
mov esi, 0x8007000d
push esi
push 0x18e8013e
push dword [esp + 0x28]
call dword [sym.imp.certcli.dll_Ordinal_359]
mov eax, dword [esp + 0x3c]
push esi
push 0x18e9013e
push eax
call dword [sym.imp.certcli.dll_Ordinal_359]
jmp 0x4aaa42
push esi
push 0x18d2013e
jmp 0x4a9fcc
push 0xf0000000
push 1
push 0x41d838
push esi
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x4aa157
call fcn.004c73cc
mov esi, eax
push esi
push 0x18fd013e
jmp 0x4a9fcc
mov edi, dword [esp + 0x34]
test edi, edi
je 0x4aa19d
push esi
push esi
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x5c]
push eax
push 1
push esi
push edi
call dword [sym.imp.certcli.dll_Ordinal_256]
mov esi, eax
test esi, esi
je 0x4aa186
push esi
push 0x190a013e
jmp 0x4a9fcc
cmp dword [esp + 0x5c], 0x14
je 0x4aa1f0
mov esi, 0x80070057
push esi
push 0x190f013e
jmp 0x4a9fcc
lea eax, [esp + 0x148]
push eax
push 0x14
push dword [esp + 0x38]
call dword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test eax, eax
jne 0x4aa1c7
call fcn.004c73cc
mov esi, eax
push esi
push 0x1917013e
jmp 0x4a9fcc
lea eax, [esp + 0x40]
push eax
push 0x14
pop edx
lea ecx, [esp + 0x14c]
call fcn.004a88a8
mov esi, eax
test esi, esi
je 0x4aa1ec
push esi
push 0x191d013e
jmp 0x4a9fcc
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0xf8]
xor ecx, ecx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x4aa20a
mov ecx, dword [esp + 0x108]
jmp 0x4aa21c
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x4aa238
mov ecx, dword [esp + 0x10c]
mov ecx, dword [ecx + eax*4 - 4]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x4aa238
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4aa23f
push 2
pop eax
jmp 0x4aa23b
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x70]
push ecx
push ecx
neg eax
push edi
push dword [esp + 0x24]
sbb ecx, ecx
and ecx, 0xfffffff0
add ecx, 0x20
call fcn.004a39c6
mov esi, eax
test esi, esi
je 0x4aa26e
push esi
push 0x1937013e
jmp 0x4a9fcc
push ecx
lea edx, [esp + 0x11c]
lea ecx, [esp + 0x74]
call fcn.004a3f09
mov esi, eax
test esi, esi
je 0x4aa290
push esi
push 0x193a013e
jmp 0x4a9fcc
cmp dword [0x518ddc], ebx
jne 0x4aa2bf
push 0x42045c
push dword [esp + 0x30]
call dword [sym.imp.msvcrt.dll_fopen]
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x4aa2bf
mov esi, 0x800700b7
push esi
push 0x1942013e
jmp 0x4a9fcc
push 0x42048c
push dword [esp + 0x30]
call dword [sym.imp.msvcrt.dll_fopen]
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x4aa2e6
mov esi, 0x80010137
push esi
push 0x1949013e
jmp 0x4a9fcc
push 0x420e54
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
mov esi, dword [esp + 0x18]
mov eax, esi
neg eax
sbb eax, eax
and eax, 0xffffffc0
sub eax, 0xffffff80
push eax
push 0x420e68
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0x14
mov eax, esi
neg eax
sbb eax, eax
add eax, 3
push eax
push 0x420e78
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
test esi, esi
je 0x4aa33d
push 0x420e8c
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
push 0x420e94
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
xor esi, esi
movzx eax, byte [esp + esi + 0x118]
push eax
push 0x420e9c
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
inc esi
cmp esi, 8
jb 0x4aa34d
push 0x4204c4
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
push edi
push 0x420ea4
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0x14
push 0x420eb4
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
push 0x420ec0
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
push dword [esp + 0x48]
push 0x420ed4
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0x1c
call fcn.004a38c1
cmp dword [0x51996c], 0
jne 0x4aa3ca
mov dword [0x5199d8], 1
xor edi, edi
cmp dword [esp + 0x10], edi
je 0x4aa8b0
mov eax, dword [esp + 0xf8]
test eax, eax
jne 0x4aa442
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4aa4e7
push 4
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [esp + 0x108], eax
test eax, eax
jne 0x4aa414
mov eax, 0x8007000e
push eax
mov esi, eax
push 0x1971013e
jmp 0x4a9fcc
lea ecx, [esp + 0x28]
mov edx, eax
push ecx
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call fcn.004a67f6
mov esi, eax
test esi, esi
je 0x4aa438
push esi
push 0x1978013e
jmp 0x4a9fcc
xor eax, eax
inc eax
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x108]
push 0x420ee4
push ebx
mov edi, dword [ecx + eax*4 - 4]
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
push dword [edi + 8]
lea eax, [esp + 0x74]
mov edx, 0x420778
push dword [edi + 4]
mov ecx, ebx
push eax
push 0x414974
call fcn.004a8ad8
mov esi, eax
test esi, esi
je 0x4aa488
push esi
push 0x1988013e
jmp 0x4a9fcc
push 0xffffffffffffffff
push 0
push 0
push dword [edi + 8]
xor edx, edx
xor ecx, ecx
push dword [edi + 4]
call fcn.0045bba5
mov esi, eax
test esi, esi
je 0x4aa4ae
push esi
push 0x198b013e
jmp 0x4a9fcc
push 2
push dword [esp + 0x58]
lea eax, [esp + 0x78]
mov edx, 0x420778
push edi
push eax
push 0x40c12c
mov ecx, ebx
call fcn.004a91b4
mov esi, eax
test esi, esi
je 0x4aa4dc
push esi
push 0x1997013e
jmp 0x4a9fcc
cmp dword [esp + 0x28], 0
jne 0x4aa50a
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x28]
xor edx, edx
push eax
push 0
push 1
mov ecx, esi
call fcn.004a9b69
mov esi, eax
test esi, esi
je 0x4aa50a
push esi
push 0x199d013e
jmp 0x4a9fcc
cmp dword [esp + 0xfc], 0
je 0x4aa7c2
push 0x420efc
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
mov edi, dword [esp + 0x104]
xor eax, eax
pop ecx
pop ecx
test edi, edi
je 0x4aa58a
mov ecx, dword [esp + 0x10c]
mov esi, dword [ecx + eax*4]
inc eax
push eax
push 0x42097c
mov dword [esp + 0x20], eax
lea eax, [esp + 0x190]
push 0x24
push eax
call fcn.004444ad
add esp, 0x10
lea eax, [esp + 0x70]
mov edx, 0x4208d0
mov ecx, ebx
push 1
push 0
push esi
push eax
lea eax, [esp + 0x198]
push eax
call fcn.004a91b4
mov esi, eax
test esi, esi
jne 0x4aa75a
mov eax, dword [esp + 0x18]
cmp eax, edi
jb 0x4aa533
push edi
push 0x420f10
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
push 0x420f20
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
xor eax, eax
pop ecx
test edi, edi
je 0x4aa5fa
mov ecx, dword [esp + 0x10c]
mov esi, dword [ecx + eax*4]
inc eax
push eax
push 0x42096c
mov dword [esp + 0x20], eax
lea eax, [esp + 0x128]
push 0x26
push eax
call fcn.004444ad
add esp, 0x10
lea edx, [esp + 0x120]
mov ecx, ebx
push esi
push dword [esp + 0x2c]
call fcn.004a8a06
mov esi, eax
test esi, esi
jne 0x4aa765
mov eax, dword [esp + 0x18]
cmp eax, edi
jb 0x4aa5ae
push 0x420f38
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
xor eax, eax
pop ecx
test edi, edi
je 0x4aa68b
mov ecx, dword [esp + 0x10c]
mov esi, dword [ecx + eax*4]
inc eax
push eax
push 0x42096c
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x128]
push 0x26
push eax
mov dword [esp + 0x28], esi
call fcn.004444ad
add esp, 0x10
lea eax, [esp + 0x70]
mov edx, 0x420910
mov ecx, ebx
push dword [esi + 8]
push dword [esi + 4]
push eax
lea eax, [esp + 0x12c]
push eax
call fcn.004a8ad8
mov esi, eax
test esi, esi
jne 0x4aa77b
push 0xffffffffffffffff
push eax
push eax
mov eax, dword [esp + 0x24]
xor edx, edx
xor ecx, ecx
push dword [eax + 8]
push dword [eax + 4]
call fcn.0045bba5
mov esi, eax
test esi, esi
jne 0x4aa770
mov eax, dword [esp + 0x34]
cmp eax, edi
jb 0x4aa60e
xor eax, eax
cmp dword [esp + 0x104], eax
jbe 0x4aa714
mov ecx, dword [esp + 0x114]
mov esi, dword [ecx + eax*4]
inc eax
push eax
push 0x420b7c
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x164]
push 0x2a
push eax
mov dword [esp + 0x28], esi
call fcn.004444ad
add esp, 0x10
lea eax, [esp + 0x70]
mov edx, 0x420910
mov ecx, ebx
push dword [esi + 8]
push dword [esi + 4]
push eax
lea eax, [esp + 0x168]
push eax
call fcn.004a8ad8
mov esi, eax
test esi, esi
jne 0x4aa791
push 0xffffffffffffffff
push eax
push eax
mov eax, dword [esp + 0x24]
xor edx, edx
xor ecx, ecx
push dword [eax + 8]
push dword [eax + 4]
call fcn.0045bba5
mov esi, eax
test esi, esi
jne 0x4aa786
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x104]
jb 0x4aa696
push 0x420f58
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
mov eax, dword [esp + 0x114]
mov edx, 0x4208ec
pop ecx
pop ecx
mov ecx, ebx
mov edi, dword [eax + edi*4 - 4]
lea eax, [esp + 0x70]
push dword [edi + 8]
push dword [edi + 4]
push eax
push 0x414974
call fcn.004a8ad8
mov esi, eax
test esi, esi
je 0x4aa79c
push esi
push 0x19f6013e
jmp 0x4a9fcc
push esi
push 0x19b4013e
jmp 0x4a9fcc
push esi
push 0x19bf013e
jmp 0x4a9fcc
push esi
push 0x19d5013e
jmp 0x4a9fcc
push esi
push 0x19d2013e
jmp 0x4a9fcc
push esi
push 0x19e9013e
jmp 0x4a9fcc
push esi
push 0x19e6013e
jmp 0x4a9fcc
push 0xffffffffffffffff
push 0
push 0
push dword [edi + 8]
xor edx, edx
xor ecx, ecx
push dword [edi + 4]
call fcn.0045bba5
mov esi, eax
test esi, esi
je 0x4aa7c2
push esi
push 0x19f9013e
jmp 0x4a9fcc
push 0x420f70
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
mov eax, dword [esp + 0x30]
pop ecx
pop ecx
test eax, eax
je 0x4aa7dd
mov ecx, dword [eax + 8]
jmp 0x4aa7df
xor ecx, ecx
test eax, eax
je 0x4aa7e8
mov eax, dword [eax + 4]
jmp 0x4aa7ea
xor eax, eax
push ecx
push eax
lea eax, [esp + 0x78]
mov edx, 0x406d50
push eax
push 0x414974
mov ecx, ebx
call fcn.004a8ad8
mov esi, eax
test esi, esi
je 0x4aa813
push esi
push 0x1a05013e
jmp 0x4a9fcc
push 0xffffffffffffffff
push 0
push 0
push dword [edi + 8]
xor edx, edx
xor ecx, ecx
push dword [edi + 4]
call fcn.0045bba5
mov esi, eax
test esi, esi
je 0x4aa839
push esi
push 0x1a08013e
jmp 0x4a9fcc
push 0x420f78
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
lea eax, [esp + 0x74]
push eax
push ecx
mov ecx, ebx
call fcn.004a8cb6
mov esi, eax
test esi, esi
je 0x4aa864
push esi
push 0x1a12013e
jmp 0x4a9fcc
mov eax, dword [esp + 0x10]
mov edx, 0x4209ac
dec eax
mov ecx, ebx
neg eax
push 4
sbb eax, eax
and eax, 0x1000000
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x78]
push eax
push 0x4209d4
call fcn.004a8ad8
mov esi, eax
test esi, esi
je 0x4aa8b0
push esi
push 0x1385013e
call dword [sym.imp.certcli.dll_Ordinal_357]
push esi
push 0x1a1c013e
jmp 0x4a9fcc
mov edi, dword [esp + 0x100]
test edi, edi
jne 0x4aa8ca
mov esi, dword [esp + 0x104]
test esi, esi
je 0x4aac35
push 0x420fa0
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
test edi, edi
je 0x4aa96b
mov eax, dword [esp + 0x110]
mov edx, 0x420a0c
mov ecx, ebx
mov eax, dword [eax + edi*4 - 4]
mov dword [esp + 0x1c], eax
push dword [eax + 8]
push dword [eax + 4]
lea eax, [esp + 0x78]
push eax
push 0x420a6c
call fcn.004a8ad8
mov esi, eax
test esi, esi
je 0x4aa91c
push esi
push 0x1a30013e
jmp 0x4a9fcc
mov eax, dword [esp + 0x1c]
xor edx, edx
push 0xffffffffffffffff
push 0
push 0
push dword [eax + 8]
xor ecx, ecx
push dword [eax + 4]
call fcn.0045bba5
mov esi, eax
test esi, esi
je 0x4aa946
push esi
push 0x1a33013e
jmp 0x4a9fcc
sub esp, 0xc
lea eax, [esp + 0x7c]
push dword [esp + 0x28]
push eax
push ecx
mov ecx, ebx
call fcn.004a8f64
mov esi, eax
test esi, esi
je 0x4aa96b
push esi
push 0x1a40013e
jmp 0x4a9fcc
mov eax, dword [esp + 0x104]
test eax, eax
je 0x4aa9a8
push dword [esp + 0x114]
push eax
push ecx
push ecx
lea eax, [esp + 0x80]
push eax
push ecx
mov ecx, ebx
call fcn.004a9259
mov esi, eax
test esi, esi
je 0x4aa9a1
push esi
push 0x1a50013e
jmp 0x4a9fcc
mov eax, dword [esp + 0x104]
push eax
push 0x420f10
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
push 0
push 0x201
push 0
push 1
push 2
call dword [sym.imp.CRYPT32.dll_CertOpenStore]
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x4aaa0a
call fcn.004c73cc
mov esi, eax
push esi
push 0x1a61013e
jmp 0x4a9fcc
cmp dword [esp + 0x48], 0
push dword [esp + 0x44]
jne 0x4aab72
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [esp + 0x48], eax
test eax, eax
je 0x4aab60
push 0
lea eax, [esp + 0x48]
push eax
push 2
push 1
push 1
push esi
call dword [sym.imp.CRYPT32.dll_CertSaveStore]
test eax, eax
jne 0x4aa9e7
call fcn.004c73cc
mov esi, eax
push esi
push 0x1a6e013e
call dword [sym.imp.certcli.dll_Ordinal_357]
mov eax, dword [esp + 0x1c]
push 2
push eax
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
xor edi, edi
mov edx, dword [esp + edi + 0xf8]
mov ecx, dword [esp + edi + 0x108]
call fcn.004a8460
add edi, 4
cmp edi, 0x10
jb 0x4aaa44
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4aaa6e
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4aaa7d
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test ebx, ebx
je 0x4aaa89
push ebx
call dword [sym.imp.msvcrt.dll_fclose]
pop ecx
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4aaa98
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4aaaa7
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4aaab6
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4aaac5
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [esp + 0x50], 0
je 0x4aaad6
push dword [esp + 0x50]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [esp + 0x40], 0
je 0x4aaae7
push dword [esp + 0x40]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [esp + 0x2c], 0
je 0x4aaaf8
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [esp + 0x48], 0
je 0x4aab09
push dword [esp + 0x48]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [esp + 0x74], 0
je 0x4aab1a
push dword [esp + 0x74]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4aab2b
push 0
push eax
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
cmp dword [esp + 0x30], 0
je 0x4aab3e
push 0
push dword [esp + 0x34]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x1ac]
pop edi
mov dword [0x5199d8], eax
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.005036b0
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0x8007000e
push eax
mov esi, eax
push 0x1a78013e
jmp 0x4aaa2f
push dword [esp + 0x4c]
lea eax, [esp + 0x78]
mov edx, 0x420a0c
push eax
push 0x420c70
mov ecx, ebx
call fcn.004a8ad8
mov esi, eax
test esi, esi
je 0x4aab9d
push esi
push 0x1a82013e
jmp 0x4aaa2f
xor edx, edx
test edi, edi
je 0x4aabb0
mov eax, dword [esp + 0x110]
mov edx, dword [eax + edi*4 - 4]
jmp 0x4aabc6
mov eax, dword [esp + 0x104]
test eax, eax
je 0x4aabc6
mov ecx, dword [esp + 0x114]
mov edx, dword [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x5c]
push 0
call fcn.004a9b69
mov esi, eax
test esi, esi
je 0x4aabeb
push esi
push 0x1a90013e
jmp 0x4aaa2f
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4aabf8
mov ecx, dword [eax + 8]
jmp 0x4aabfa
xor ecx, ecx
test eax, eax
je 0x4aac03
mov eax, dword [eax + 4]
jmp 0x4aac05
xor eax, eax
push ecx
push eax
lea eax, [esp + 0x78]
mov edx, 0x420a0c
push eax
push 0x420c9c
mov ecx, ebx
call fcn.004a8ad8
mov esi, eax
test esi, esi
je 0x4aac2e
push esi
push 0x1a99013e
jmp 0x4aaa2f
mov esi, dword [esp + 0x104]
cmp dword [esp + 0x10], 0
jne 0x4aacca
push 0x420f38
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
xor edi, edi
pop ecx
test esi, esi
je 0x4aacca
mov eax, dword [esp + 0x114]
mov esi, dword [eax + edi*4]
lea eax, [edi + 1]
push eax
push 0x420b7c
mov edi, eax
mov dword [esp + 0x60], esi
lea eax, [esp + 0x164]
push 0x2a
push eax
call fcn.004444ad
add esp, 0x10
lea eax, [esp + 0x70]
mov edx, 0x420910
mov ecx, ebx
push dword [esi + 8]
push dword [esi + 4]
push eax
lea eax, [esp + 0x168]
push eax
call fcn.004a8ad8
mov esi, eax
test esi, esi
jne 0x4aad01
push 0xffffffffffffffff
push eax
push eax
mov eax, dword [esp + 0x64]
xor edx, edx
xor ecx, ecx
push dword [eax + 8]
push dword [eax + 4]
call fcn.0045bba5
mov esi, eax
test esi, esi
jne 0x4aacf9
cmp edi, dword [esp + 0x104]
jb 0x4aac54
push 0x4204c4
push ebx
call dword [sym.imp.msvcrt.dll_fprintf]
push ebx
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0xc
push ebx
call dword [sym.imp.msvcrt.dll_ferror]
pop ecx
test eax, eax
je 0x4aad0f
mov esi, 0x80070070
push esi
push 0x1abc013e
jmp 0x4aad07
push esi
push 0x1ab4013e
jmp 0x4aad07
push esi
push 0x1aae013e
call dword [sym.imp.certcli.dll_Ordinal_357]
jmp 0x4aad11
xor esi, esi
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4aaa42
jmp 0x4aaa39