Function at 0x406ee0
Capabilities:
Access peb ldr_data
Get ntdll base address
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4294c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7c
mov eax, dword [0x435644]
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov ecx, 0x435644
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x24], eax
mov edx, dword [0x435644]
xor ebx, ebx
mov ecx, 0x435644
mov dword [esp + 0x94], ebx
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x20], eax
mov eax, dword [0x435644]
mov ecx, 0x435644
mov byte [esp + 0x94], 1
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x18], eax
mov edx, dword [0x435644]
mov ecx, 0x435644
mov byte [esp + 0x94], 2
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov eax, dword [0x435644]
mov ecx, 0x435644
mov byte [esp + 0x94], 3
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov edx, dword [0x435644]
mov ecx, 0x435644
mov byte [esp + 0x94], 4
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x42b7bc
lea eax, [ebp + 0x18]
push eax
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0xa0], 5
call fcn.004061c0
add esp, 0xc
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x98], 6
call fcn.004060a0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x94], 5
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x406ff8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0x38]
call fcn.004162e0
push ebx
mov byte [esp + 0x98], 7
call fcn.0041e3bf
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x24]
push ebx
push eax
lea ecx, [esp + 0x40]
mov edi, edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call fcn.00416380
test al, al
jne 0x40715d
mov eax, dword [esp + 0x74]
cmp eax, ebx
mov byte [esp + 0x94], 5
mov dword [esp + 0x38], 0x42b6a8
je 0x407056
push eax
call fcn.0041df9e
add esp, 4
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
lea ecx, [esp + 0x38]
call fcn.00415d70
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x94], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407091
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x94], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4070b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x94], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4070dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x94], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407103
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x94], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407129
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov dword [esp + 0x94], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407450
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
xor eax, eax
jmp 0x407554
push str.PRODUCTS
push str.WNWB_CONF
lea ecx, [esp + 0x40]
call fcn.00415450
mov ecx, eax
call fcn.00415450
mov ecx, eax
call fcn.004154d0
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x4071ba
mov ecx, dword [esp + 0x74]
cmp ecx, eax
mov byte [esp + 0x94], 5
mov dword [esp + 0x38], 0x42b6a8
je 0x4071a9
push ecx
call fcn.0041df9e
add esp, 4
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
jmp 0x407062
cmp dword [esp + 0x9c], 1
lea ecx, [esp + 0x18]
jne 0x4071cf
push str.MESSAGE
jmp 0x4071d4
push str.UPDATE
call fcn.004062b0
lea esp, [esp]
push 0x42b69c
mov ecx, ebx
call fcn.00415e70
test eax, eax
jne 0x4071f4
xor ecx, ecx
jmp 0x40720b
mov ecx, eax
lea edx, [ecx + 1]
mov dword [esp + 0x2c], edx
lea ecx, [ecx]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x407200
sub ecx, dword [esp + 0x2c]
push ecx
push eax
lea ecx, [esp + 0x28]
call fcn.00405d40
mov eax, dword [esp + 0x20]
push eax
call fcn.0041e487
mov ecx, dword [esp + 0xa4]
add esp, 4
cmp eax, ecx
je 0x40723d
mov ecx, ebx
call fcn.00415560
mov ebx, eax
test ebx, ebx
jne 0x4071e0
jmp 0x40728d
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, ebx
call fcn.00415500
mov ebx, eax
push str.allow
mov ecx, ebx
call fcn.00415e70
push eax
lea ecx, [esp + 0x20]
call fcn.004062b0
push str.intervel_day
mov ecx, ebx
call fcn.00415e70
push eax
lea ecx, [esp + 0x18]
call fcn.004062b0
push str.last_check_time
mov ecx, ebx
call fcn.00415e70
push eax
lea ecx, [esp + 0x14]
call fcn.004062b0
mov eax, dword [esp + 0x9c]
cmp eax, 1
jne 0x407382
mov ebx, dword [esp + 0x1c]
push str.false
push ebx
call fcn.0041e2b7
add esp, 8
test eax, eax
jne 0x407318
lea ecx, [esp + 0x38]
mov byte [esp + 0x94], 5
call fcn.00405c30
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x94], 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4072ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x94], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407310
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [ebx - 0x10]
jmp 0x4070be
lea eax, [esp + 0x30]
push eax
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00405d20
mov ecx, ebp
call fcn.00405eb0
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
sub esi, eax
mov eax, dword [esp + 0x14]
push eax
sbb edi, ebp
call fcn.0041e487
add esp, 4
push 0
push 0x15180
push edi
push esi
mov ebp, eax
call fcn.0041dfb0
mov esi, eax
mov ecx, edx
mov eax, ebp
cdq
sub esi, eax
sbb ecx, edx
test ecx, ecx
jg 0x40745b
jl 0x40737b
test esi, esi
ja 0x40745b
push 0x42b800
jmp 0x407401
cmp eax, 2
jne 0x407457
mov ecx, dword [esp + 0x1c]
push str.false
push ecx
call fcn.0041e2b7
add esp, 8
test eax, eax
je 0x407409
lea edx, [esp + 0x30]
push edx
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.00405d20
mov ecx, ebp
call fcn.00405eb0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub esi, edx
sbb edi, ecx
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0041e487
add esp, 4
push 0
push 0x15180
push edi
push esi
mov ebp, eax
call fcn.0041dfb0
mov esi, eax
mov ecx, edx
mov eax, ebp
cdq
sub esi, eax
sbb ecx, edx
test ecx, ecx
jg 0x407457
jl 0x4073fc
test esi, esi
ja 0x407457
push 0x42b7e0
call fcn.004011c0
add esp, 4
lea ecx, [esp + 0x38]
mov byte [esp + 0x94], 5
call fcn.00405c30
lea ecx, [esp + 0x10]
call fcn.004014e0
lea ecx, [esp + 0x14]
call fcn.004014e0
lea ecx, [esp + 0x1c]
call fcn.004014e0
lea ecx, [esp + 0x18]
call fcn.004014e0
lea ecx, [esp + 0x20]
call fcn.004014e0
lea ecx, [esp + 0x24]
call fcn.004014e0
xor eax, eax
jmp 0x407554
mov ebx, dword [esp + 0x1c]
lea ecx, [esp + 0x38]
mov byte [esp + 0x94], 5
call fcn.00405c30
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x94], 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x407492
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x94], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4074b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [ebx - 0x10]
mov byte [esp + 0x94], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4074da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x94], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407500
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x94], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407526
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov dword [esp + 0x94], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40754f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, 1
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x88
ret 8