Function at 0x4075b0
Capabilities:
Check if file exists
Get common file path
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x520907
mov eax, dword fs:[0]
push eax
sub esp, 0x180
mov eax, dword [0x576fe4]
xor eax, esp
mov dword [esp + 0x17c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x576fe4]
xor eax, esp
push eax
lea eax, [esp + 0x194]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x19c], 1
call fcn.00413a01
push 0xffffffffffffffff
xor esi, esi
push esi
lea ecx, [esp + 0x78]
mov byte [esp + 0x1a4], 2
call fcn.00413b7c
lea ecx, [esp + 0x1b]
call fcn.0040d470
mov eax, dword [edi + 0xe50]
cmp eax, esi
mov byte [esp + 0x19c], 3
mov dword [esp + 0x1c], esi
jle 0x407b34
lea ebx, [ebx]
push 0x530041
lea ecx, [esp + 0x18]
call fcn.00403850
push 0x530041
lea ecx, [esp + 0x38]
mov byte [esp + 0x1a0], 4
call fcn.00403850
push 0x530041
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1a0], 5
call fcn.00403850
push 0x530041
lea ecx, [esp + 0x24]
mov byte [esp + 0x1a0], 6
call fcn.00403850
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x19c], 7
test eax, eax
jl 0x407c15
cmp eax, dword [edi + 0xe50]
jge 0x407c15
mov ecx, dword [edi + 0xe4c]
lea eax, [ecx + eax*4]
push eax
lea ecx, [esp + 0x2c]
call fcn.00402e20
mov edx, dword [esp + 0x28]
push edx
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionProfileList
lea eax, [esp + 0x1c]
push 0x52fde4
push eax
call fcn.00402f20
add esp, 0xc
mov ecx, esp
mov dword [esp + 0x40], esp
push str.ProfileImagePath
call fcn.00403850
mov esi, dword [esp + 0x18]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov byte [esp + 0x1a4], 8
mov dword [esp + 0x50], esp
mov ebx, esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x407729
cmp eax, dword [esi]
jne 0x407729
mov ebp, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x40775d
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebp, eax
test ebp, ebp
je 0x407c06
mov eax, dword [esi + 4]
mov dword [ebp + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebp + 0x10]
push ecx
call fcn.00504a97
add esp, 0x10
push reloc.OLEAUT32.dll_SysReAllocString
lea edx, [esp + 0x3c]
add ebp, 0x10
mov dword [ebx], ebp
push edx
lea ecx, [esp + 0x2b]
mov byte [esp + 0x1ac], 7
call fcn.0040d7b0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x1a0], 9
call fcn.00402e20
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4077b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
cmp dword [eax - 0xc], 0
je 0x407828
push 1
push 0x5c
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x48], esp
mov esi, esp
push eax
call fcn.00401c50
add esp, 4
lea ecx, [esp + 0x50]
add eax, 0x10
push ecx
mov ecx, edi
mov dword [esi], eax
call fcn.00405590
mov edx, dword [esp + 0x78]
push eax
push edx
lea ecx, [esp + 0x78]
mov byte [esp + 0x1a4], 0xa
call fcn.00413ee6
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407828
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x14]
cmp dword [edx - 0xc], 0
mov esi, dword [edx - 0x10]
lea eax, [edx - 0x10]
je 0x407881
cmp dword [eax + 0xc], 0
lea ecx, [eax + 0xc]
jge 0x40785b
cmp dword [edx - 8], 0
jl 0x407c0b
mov dword [edx - 0xc], 0
mov ecx, dword [esp + 0x14]
mov byte [ecx], 0
jmp 0x407881
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407871
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x28]
push str.SOFTWAREMicrosoftWindowsCurrentVersionInternet_Settings
push ecx
lea edx, [esp + 0x1c]
push 0x52fde4
push edx
call fcn.00402f20
add esp, 0xc
mov ecx, esp
mov dword [esp + 0x40], esp
push str.ProxyOverride
call fcn.00403850
mov esi, dword [esp + 0x18]
push ecx
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
add esi, 0xfffffff0
mov byte [esp + 0x1a4], 0xb
mov dword [esp + 0x50], esp
mov ebx, esp
call edx
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x4078e7
cmp eax, dword [esi]
jne 0x4078e7
mov ebp, esi
mov eax, 1
lock xadd dword [edx], eax
jmp 0x40791b
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebp, eax
test ebp, ebp
je 0x407c06
mov eax, dword [esi + 4]
mov dword [ebp + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebp + 0x10]
push ecx
call fcn.00504a97
add esp, 0x10
push SysStringLen
lea edx, [esp + 0x30]
add ebp, 0x10
mov dword [ebx], ebp
push edx
lea ecx, [esp + 0x2b]
mov byte [esp + 0x1ac], 7
call fcn.0040d7b0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x1a0], 0xc
call fcn.00402e20
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407975
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
jl 0x40799e
push str.127.0.0.1:21300
push eax
call fcn.0050660e
add esp, 8
test eax, eax
je 0x40799e
sub eax, dword [esp + 0x20]
cmp eax, 0xffffffff
jne 0x407a7d
push 0x530041
lea ecx, [esp + 0x30]
call fcn.00403850
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
mov byte [esp + 0x19c], 0xd
push str.127.0.0.1:21300
jne 0x4079d7
lea ecx, [esp + 0x30]
push 0x52fde0
push ecx
call fcn.00402f20
add esp, 0xc
jmp 0x4079ea
push eax
lea edx, [esp + 0x34]
push str._s__s
push edx
call fcn.00402f20
add esp, 0x10
mov eax, dword [esp + 0x2c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x40], esp
mov esi, esp
push eax
call fcn.00401c50
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [esp + 0x50], esp
push str.ProxyOverride
mov byte [esp + 0x1a8], 0xe
call fcn.00403850
mov eax, dword [esp + 0x1c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x78], esp
mov esi, esp
push eax
mov byte [esp + 0x1ac], 0xf
call fcn.00401c50
add esp, 4
add eax, 0x10
mov dword [esi], eax
push SysStringLen
lea ecx, [esp + 0x2b]
mov byte [esp + 0x1ac], 0xd
call fcn.0040d480
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407a7d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407aa5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407acd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407af5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407b1d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, dword [edi + 0xe50]
mov dword [esp + 0x1c], eax
jl 0x407640
xor esi, esi
mov ecx, edi
call fcn.004057d0
push 0x103
lea ecx, [esp + 0x91]
push esi
push ecx
mov byte [esp + 0x98], 0
call fcn.00505810
add esp, 0xc
push 0x530041
lea ecx, [esp + 0x44]
call fcn.00403850
mov byte [esp + 0x19c], 0x10
mov dword [esp + 0x44], esi
call fcn.0040a5e0
test eax, eax
je 0x407c1a
lea edx, [esp + 0x8c]
push edx
push esi
push esi
push 0x28
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jl 0x407c93
push 2
push 0x5c
push ecx
lea eax, [esp + 0x98]
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00403850
lea ecx, [esp + 0x3c]
push ecx
mov ecx, edi
call fcn.00405590
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x1a0], 0x11
call fcn.00402e20
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x407bf9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x44], 1
jmp 0x407c93
call fcn.00401940
push 0x80070057
call fcn.00401210
call fcn.00416a1d
lea ecx, [esp + 0x8c]
push ecx
push esi
push esi
push 0x28
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jl 0x407c93
push 2
push 0x5c
push ecx
lea edx, [esp + 0x98]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00403850
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
call fcn.00405590
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x1a0], 0x12
call fcn.00402e20
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407c8f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x44], esi
push 4
call fcn.00412bb8
add esp, 4
cmp eax, esi
je 0x407ca9
lea ecx, [esp + 0x54]
mov dword [eax], ecx
jmp 0x407cab
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
cmp dword [esp + 0x78], esi
mov byte [esp + 0x19c], 0x14
mov dword [esp + 0x30], esi
jle 0x4084dc
mov bl, 0x1d
jmp 0x407ce0
push 0x530041
lea ecx, [esp + 0x24]
call fcn.00403850
push 0x530041
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a0], 0x15
call fcn.00403850
push 0x530041
lea ecx, [esp + 0x30]
mov byte [esp + 0x1a0], 0x16
call fcn.00403850
push 0x530041
lea ecx, [esp + 0x40]
mov byte [esp + 0x1a0], 0x17
call fcn.00403850
push 0x530041
lea ecx, [esp + 0x4c]
mov byte [esp + 0x1a0], 0x18
call fcn.00403850
push 0x530041
lea ecx, [esp + 0x38]
mov byte [esp + 0x1a0], 0x19
call fcn.00403850
push 0x530041
lea ecx, [esp + 0x20]
mov byte [esp + 0x1a0], 0x1a
call fcn.00403850
mov eax, dword [esp + 0x30]
mov byte [esp + 0x19c], 0x1b
test eax, eax
jl 0x407c15
cmp eax, dword [esp + 0x78]
jge 0x407c15
mov edx, dword [esp + 0x74]
mov edx, dword [edx + eax*4]
mov ecx, dword [esp + 0x14]
lea eax, [edx - 0x10]
lea esi, [ecx - 0x10]
cmp eax, esi
je 0x407df7
cmp dword [esi + 0xc], 0
lea ebp, [esi + 0xc]
jl 0x407de5
mov ecx, dword [eax]
cmp ecx, dword [esi]
jne 0x407de5
push eax
call fcn.00401c50
add esp, 4
mov dword [esp + 0x38], eax
or edx, 0xffffffff
lock xadd dword [ebp], edx
dec edx
test edx, edx
jg 0x407dd8
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov ecx, dword [esp + 0x38]
add ecx, 0x10
mov dword [esp + 0x14], ecx
jmp 0x407df7
mov eax, dword [edx - 0xc]
push eax
push edx
lea ecx, [esp + 0x1c]
call fcn.00402560
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx - 0xc]
mov eax, dword [ecx - 8]
mov edx, 1
sub edx, dword [ecx - 4]
sub eax, esi
or eax, edx
jge 0x407e19
push esi
lea ecx, [esp + 0x18]
call fcn.00401c00
mov ecx, dword [esp + 0x14]
lea eax, [esi + 1]
push eax
push ecx
call fcn.0050573d
push eax
call fcn.00401120
add esp, 0xc
test esi, esi
jl 0x407c0b
mov eax, dword [esp + 0x14]
cmp esi, dword [eax - 8]
jg 0x407c0b
mov dword [eax - 0xc], esi
mov ecx, dword [esp + 0x14]
mov byte [esi + ecx], 0
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x407f1b
push str.localservice
push ecx
call fcn.0050660e
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x407e7b
sub eax, ecx
cmp eax, 0xffffffff
jne 0x4083b1
cmp dword [ecx - 0xc], 0
jl 0x407f1b
push str.networkservice
push ecx
call fcn.0050660e
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x407ea6
sub eax, ecx
cmp eax, 0xffffffff
jne 0x4083b1
cmp dword [ecx - 0xc], 0
jl 0x407f1b
push str.internet_explorer
push ecx
call fcn.0050660e
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x407ecd
sub eax, ecx
cmp eax, 0xffffffff
jne 0x4083b1
cmp dword [ecx - 0xc], 0
jl 0x407f1b
push str.defaultapppool
push ecx
call fcn.0050660e
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x407ef4
sub eax, ecx
cmp eax, 0xffffffff
jne 0x4083b1
cmp dword [ecx - 0xc], 0
jl 0x407f1b
push str.updateususer
push ecx
call fcn.0050660e
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x407f1b
sub eax, ecx
cmp eax, 0xffffffff
jne 0x4083b1
cmp dword [esp + 0x44], 0
je 0x407f4d
mov edx, dword [esp + 0x40]
push str.AppDataRoamingMozillaFirefox
push ecx
push edx
lea eax, [esp + 0x2c]
push 0x530eb0
push eax
call fcn.00402f20
mov ecx, dword [esp + 0x34]
push ecx
push str._sprofiles.ini
lea edx, [esp + 0x50]
push edx
jmp 0x407f76
mov eax, dword [esp + 0x40]
push str.Application_DataMozillaFirefox
push ecx
push eax
lea ecx, [esp + 0x2c]
push 0x530eb0
push ecx
call fcn.00402f20
mov edx, dword [esp + 0x34]
push edx
push str._sprofiles.ini
lea eax, [esp + 0x50]
push eax
call fcn.00402f20
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
add esp, 0x20
mov dword [esp + 0x38], eax
cmp ebp, eax
jbe 0x407fa1
call fcn.0050623a
mov eax, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x54]
cmp ebp, eax
jbe 0x407fae
call fcn.0050623a
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x54]
push ecx
push esi
push ebp
push edx
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x68]
call fcn.004067c0
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x54]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x40], esp
mov esi, esp
push eax
call fcn.00401c50
add eax, 0x10
add esp, 4
mov ecx, edi
mov dword [esi], eax
call fcn.00407410
mov edx, dword [esp + 0x64]
sub edx, dword [esp + 0x60]
xor ebp, ebp
sar edx, 2
test edx, edx
jbe 0x4083b1
jmp 0x408010
push 0
push 0x530041
lea ecx, [esp + 0x34]
call fcn.00402560
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0x60]
sar eax, 2
cmp ebp, eax
jb 0x408034
call fcn.0050623a
mov ecx, dword [esp + 0x60]
lea eax, [ecx + ebp*4]
push eax
lea ecx, [esp + 0x30]
call fcn.00402e20
push 0x52ff5c
push 0x530e78
lea ecx, [esp + 0x34]
call fcn.00402740
push 0x530041
lea ecx, [esp + 0x28]
call fcn.00403850
push 0x530041
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1a0], 0x1c
call fcn.00403850
push 0x52ff5c
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x74]
push eax
mov byte [esp + 0x1a8], bl
call fcn.00402d00
add esp, 0xc
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x1a0], 0x1e
call fcn.00402e20
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
mov byte [esp + 0x19c], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4080d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004024b0
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push str._scert8.db
push edx
call fcn.00402f20
mov eax, dword [esp + 0x34]
add esp, 0xc
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x408219
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push str._D__n__Interezen_CA___d__dbm:_s_
push edx
call fcn.00402f20
mov eax, dword [esp + 0x28]
add esp, 0xc
push 0
push 1
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x44], esp
mov esi, esp
push eax
call fcn.00401c50
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [esp + 0x5c], esp
push str.certutil.exe
mov byte [esp + 0x1b0], 0x1f
call fcn.00403850
mov eax, dword [esp + 0x1b4]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x64], esp
mov esi, esp
push eax
mov byte [esp + 0x1b4], 0x20
call fcn.00401c50
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov ecx, edi
mov byte [esp + 0x1b0], bl
call fcn.004049e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1a8]
push eax
push ecx
lea edx, [esp + 0x24]
push str._A__n__Interezen_CA___t__CP_CP____i___s___d__dbm:_s_
push edx
call fcn.00402f20
mov eax, dword [esp + 0x2c]
add esp, 0x10
push 0
push 1
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x5c], esp
mov esi, esp
push eax
call fcn.00401c50
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [esp + 0x5c], esp
push str.certutil.exe
mov byte [esp + 0x1b0], 0x21
call fcn.00403850
mov eax, dword [esp + 0x1b4]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x4c], esp
mov esi, esp
push eax
mov byte [esp + 0x1b4], 0x22
call fcn.00401c50
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov ecx, edi
mov byte [esp + 0x1b0], bl
call fcn.004049e0
mov eax, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x2c]
push str._scert9.db
push ecx
call fcn.00402f20
mov edx, dword [esp + 0x34]
add esp, 0xc
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x40834d
mov eax, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
push str._D__n__Interezen_CA___d__sql:_s_
push ecx
call fcn.00402f20
mov eax, dword [esp + 0x28]
add esp, 0xc
push 0
push 1
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x5c], esp
mov esi, esp
push eax
call fcn.00401c50
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [esp + 0x5c], esp
push str.certutil.exe
mov byte [esp + 0x1b0], 0x23
call fcn.00403850
mov eax, dword [esp + 0x1b4]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x4c], esp
mov esi, esp
push eax
mov byte [esp + 0x1b4], 0x24
call fcn.00401c50
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov ecx, edi
mov byte [esp + 0x1b0], bl
call fcn.004049e0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1a8]
push edx
push eax
lea ecx, [esp + 0x24]
push str._A__n__Interezen_CA___t__CP_CP____i___s___d__sql:_s_
push ecx
call fcn.00402f20
mov eax, dword [esp + 0x2c]
add esp, 0x10
push 0
push 1
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x5c], esp
mov esi, esp
push eax
call fcn.00401c50
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [esp + 0x5c], esp
push str.certutil.exe
mov byte [esp + 0x1b0], 0x25
call fcn.00403850
mov eax, dword [esp + 0x1b4]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x4c], esp
mov esi, esp
push eax
mov byte [esp + 0x1b4], 0x26
call fcn.00401c50
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov ecx, edi
mov byte [esp + 0x1b0], bl
call fcn.004049e0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x1c
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408375
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x1b
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40839d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x64]
sub ecx, dword [esp + 0x60]
inc ebp
sar ecx, 2
cmp ebp, ecx
jb 0x408010
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x1a
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4083d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x19
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408401
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x18
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408429
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x17
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408451
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x16
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408479
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4084a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4084c9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
inc eax
cmp eax, dword [esp + 0x78]
mov dword [esp + 0x30], eax
jl 0x407ce0
lea ecx, [esp + 0x54]
mov byte [esp + 0x19c], 0x10
call fcn.00406f80
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408515
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x1b]
mov byte [esp + 0x19c], 2
call fcn.00401000
lea ecx, [esp + 0x70]
mov byte [esp + 0x19c], 1
call fcn.00413d97
mov eax, dword [esp + 0x1a4]
add eax, 0xfffffff0
mov byte [esp + 0x19c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408562
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1a8]
add eax, 0xfffffff0
mov dword [esp + 0x19c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408590
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x194]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x17c]
xor ecx, esp
call fcn.0050534a
add esp, 0x18c
ret 8