Function at 0x4ef6c0
Capabilities:
Check http status code
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x401916
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x110
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x4015c8
lea eax, [ebp - 0x50]
xor ebx, ebx
push eax
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x28], bl
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0x48], 0x80020004
mov dword [ebp - 0x50], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea ecx, [ebp - 0x50]
call edi
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x48], 1
push ecx
mov dword [ebp - 0x50], 2
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4015c0]
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaR8IntI4]
lea ecx, [ebp - 0x50]
mov esi, eax
call edi
lea edx, [ebp - 0x50]
mov dword [ebp - 0x48], 1
push edx
mov dword [ebp - 0x50], 2
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4015bc]
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fadd dword [0x4015b8]
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x38], eax
call edi
fild dword [ebp - 0x38]
fstp qword [ebp - 0xe8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
push eax
push ecx
push 0x403a0000
push ebx
call dword [sym.imp.MSVBVM60.DLL___vbaPowerR8]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], 5
mov ecx, dword [eax]
imul ecx, edx
mov edx, dword [ebp + 0xc]
jo 0x4efdf6
add ecx, dword [edx]
jo 0x4efdf6
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x18]
xor eax, eax
cmp ecx, eax
jl 0x4efa56
fild dword [ebp - 0x24]
fstp qword [ebp - 0xf0]
fild dword [ebp - 0x18]
fstp qword [ebp - 0xf8]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
push eax
push ecx
push 0x403a0000
push ebx
call dword [sym.imp.MSVBVM60.DLL___vbaPowerR8]
cmp dword [section..data], 0
jne 0x4ef85c
fdivr qword [ebp - 0xf0]
jmp 0x4ef86d
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
call sub.MSVBVM60.DLL__adj_fdivr_m64
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaR8IntI4]
fild dword [ebp - 0x24]
mov esi, eax
mov dword [ebp - 0x20], esi
fstp qword [ebp - 0x100]
fild dword [ebp - 0x18]
fstp qword [ebp - 0x108]
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x108]
push edx
push eax
push 0x403a0000
push ebx
call dword [sym.imp.MSVBVM60.DLL___vbaPowerR8]
fild dword [ebp - 0x20]
fstp qword [ebp - 0x110]
fmul qword [ebp - 0x110]
fsubr qword [ebp - 0x100]
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
cmp esi, ebx
mov dword [ebp - 0x24], eax
jle 0x4ef8f2
cmp word [ebp - 0x40], bx
jne 0x4ef8fc
mov ecx, esi
mov dword [ebp - 0x40], 0xffffffff
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I4]
mov byte [ebp - 0x28], al
cmp word [ebp - 0x40], bx
je 0x4efa40
mov eax, dword [ebp - 0x1c]
add eax, 1
jo 0x4efdf6
cmp eax, 1
mov dword [ebp - 0x1c], eax
jle 0x4ef97b
cmp word [ebp - 0x3c], bx
jne 0x4ef962
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x48], 1
push ecx
mov dword [ebp - 0x50], 2
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4015b4]
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaR8IntI4]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x30], eax
call edi
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, 0xc8
setg dl
neg edx
mov dword [ebp - 0x3c], edx
cmp eax, 1
jle 0x4ef97b
mov ecx, dword [ebp - 0x28]
and ecx, 0xff
xor ecx, esi
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I4]
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x2c]
mov ecx, esi
mov dword [ebp - 0xc8], eax
add ecx, 0x41
mov eax, 3
lea edx, [ebp - 0x3c]
jo 0x4efdf6
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x58], ecx
lea eax, [ebp - 0x60]
mov dword [ebp - 0x98], edx
lea ecx, [ebp - 0x50]
push eax
lea edx, [ebp - 0xa0]
add esi, 0x61
push ecx
lea eax, [ebp - 0x70]
push edx
jo 0x4efdf6
push eax
mov dword [ebp - 0xd0], 8
mov dword [ebp - 0x48], esi
mov dword [ebp - 0xa0], 0x400b
call dword [sym.imp.MSVBVM60.DLL_rtcImmediateIf]
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaI4Var]
lea edx, [ebp - 0x80]
push eax
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcVarBstrFromAnsi]
lea eax, [ebp - 0xd0]
lea ecx, [ebp - 0x80]
push eax
lea edx, [ebp - 0x90]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov edx, eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x80]
push eax
lea edx, [ebp - 0x70]
push ecx
lea eax, [ebp - 0x60]
push edx
lea ecx, [ebp - 0x50]
push eax
push ecx
push 5
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x18
mov ecx, dword [ebp - 0x18]
or eax, 0xffffffff
add eax, ecx
jo 0x4efdf6
mov dword [ebp - 0x18], eax
jmp 0x4ef812
lea edx, [ebp - 0x50]
mov dword [ebp - 0x48], 1
push edx
mov dword [ebp - 0x50], 2
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4015b0]
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
mov eax, dword [ebp - 0x28]
fstp qword [ebp - 0x118]
and eax, 0xff
mov dword [ebp - 0x11c], eax
fild dword [ebp - 0x11c]
fstp qword [ebp - 0x124]
fld qword [ebp - 0x124]
cmp dword [section..data], 0
jne 0x4efabb
fdiv qword [0x4015a8]
jmp 0x4efacc
push dword [0x4015ac]
push dword [0x4015a8]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fmul qword [0x4015a0]
fadd qword [ebp - 0x118]
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
lea ecx, [ebp - 0x50]
mov esi, eax
call edi
cmp word [ebp - 0x3c], bx
jne 0x4efb4b
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x48], 1
push ecx
mov dword [ebp - 0x50], 2
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4015b4]
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaR8IntI4]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x30], eax
call edi
mov ecx, dword [ebp - 0x30]
xor edx, edx
cmp ecx, 0x7f
setg dl
neg edx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x2c]
mov ecx, esi
mov dword [ebp - 0xc8], eax
add ecx, 0x41
mov eax, 3
lea edx, [ebp - 0x3c]
jo 0x4efdf6
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x58], ecx
lea eax, [ebp - 0x60]
mov dword [ebp - 0x98], edx
lea ecx, [ebp - 0x50]
push eax
lea edx, [ebp - 0xa0]
add esi, 0x61
push ecx
lea eax, [ebp - 0x70]
push edx
jo 0x4efdf6
push eax
mov dword [ebp - 0xd0], 8
mov dword [ebp - 0x48], esi
mov dword [ebp - 0xa0], 0x400b
call dword [sym.imp.MSVBVM60.DLL_rtcImmediateIf]
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaI4Var]
lea edx, [ebp - 0x80]
push eax
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcVarBstrFromAnsi]
lea eax, [ebp - 0xd0]
lea ecx, [ebp - 0x80]
push eax
lea edx, [ebp - 0x90]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov edx, eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x80]
push eax
lea edx, [ebp - 0x70]
push ecx
lea eax, [ebp - 0x60]
push edx
lea ecx, [ebp - 0x50]
push eax
push ecx
push 5
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
movzx ax, byte [ebp - 0x28]
cwd
mov cx, 0x1a
add esp, 0x18
idiv cx
cmp word [ebp - 0x3c], bx
movsx esi, dx
jne 0x4efc69
lea edx, [ebp - 0x50]
mov dword [ebp - 0x48], 1
push edx
mov dword [ebp - 0x50], 2
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4015b4]
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaR8IntI4]
lea ecx, [ebp - 0x50]
mov ebx, eax
call edi
xor eax, eax
cmp ebx, 0x7f
setg al
neg eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x2c]
mov edx, esi
mov eax, 3
add edx, 0x41
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc8], ecx
lea eax, [ebp - 0x3c]
jo 0x4efdf6
mov dword [ebp - 0x58], edx
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x98], eax
lea edx, [ebp - 0x50]
push ecx
lea eax, [ebp - 0xa0]
add esi, 0x61
push edx
lea ecx, [ebp - 0x70]
push eax
jo 0x4efdf6
push ecx
mov dword [ebp - 0xd0], 8
mov dword [ebp - 0x48], esi
mov dword [ebp - 0xa0], 0x400b
call dword [sym.imp.MSVBVM60.DLL_rtcImmediateIf]
lea edx, [ebp - 0x70]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaI4Var]
push eax
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcVarBstrFromAnsi]
lea ecx, [ebp - 0xd0]
lea edx, [ebp - 0x80]
push ecx
lea eax, [ebp - 0x90]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x2c]
call ebx
lea ecx, [ebp - 0x90]
lea edx, [ebp - 0x80]
push ecx
lea eax, [ebp - 0x70]
push edx
lea ecx, [ebp - 0x60]
push eax
lea edx, [ebp - 0x50]
push ecx
push edx
push 5
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x18
lea eax, [ebp - 0x50]
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x50], 2
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4015b4]
fnstsw ax
test al, 0xd
jne 0x4efdf1
call dword [sym.imp.MSVBVM60.DLL___vbaR8IntI4]
lea ecx, [ebp - 0x50]
mov esi, eax
call edi
cmp esi, 0x7f
jle 0x4efd75
mov ecx, dword [ebp - 0x2c]
push ecx
push 0x4dba3c
jmp 0x4efd7e
mov edx, dword [ebp - 0x2c]
push edx
push 0x4dda00
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x2c]
call ebx
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
wait
push 0x4efddb
jmp 0x4efdd1
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
jmp 0x40191c
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop