Function at 0x4159f0
Capabilities:
Packed with generic packer

Disassembly:
sub esp, 0x428
mov eax, dword [0x495010]
xor eax, esp
mov dword [esp + 0x424], eax
mov eax, dword [esp + 0x42c]
push ebx
push ebp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x444]
push esi
mov esi, dword [esp + 0x43c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x444]
push 0
mov dword [esp + 0x24], eax
call fcn.0045d207
push 0x38
xor bl, bl
mov dword [esp + 0x2c], eax
push 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ebx
call dword [0x495054]
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x415a7a
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00410d89
add esp, 0x428
ret
cmp byte [esp + 0x440], 0
push edi
je 0x415fc3
push 0x1388
call dword [0x495044]
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
test edi, edi
jne 0x415aad
push ebp
call dword [0x495048]
jmp 0x415fa5
push 0x3b
push esi
call fcn.0044f430
mov cl, byte [esi]
add esp, 8
mov dword [esp + 0x20], eax
test cl, cl
je 0x415ad4
cmp cl, 0x20
je 0x415acc
cmp cl, 9
jne 0x415ad4
mov cl, byte [esi + 1]
inc esi
test cl, cl
jne 0x415ac2
push edi
lea eax, [esp + 0x38]
mov byte [edi], 0
push eax
push str._1023___r_n___4999___r_n_
push esi
mov byte [esp + 0x44], 0
call fcn.00417320
add esp, 0x10
cmp eax, 1
jl 0x415de0
mov edx, edi
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x415b00
sub edx, ecx
lea ecx, [esp + 0x34]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415b10
sub ecx, edi
add esi, ecx
cmp byte [esi], 0x3d
sete bl
test ecx, ecx
je 0x415b5b
mov al, byte [esi - 1]
dec esi
cmp al, 0x20
je 0x415b31
cmp al, 9
jne 0x415b5b
test al, al
je 0x415b4a
cmp al, 0x20
je 0x415b3d
cmp al, 9
jne 0x415b4a
test ecx, ecx
je 0x415b4a
mov al, byte [esi - 1]
dec esi
dec ecx
test al, al
jne 0x415b35
cmp ecx, 0x400
jae 0x4163d7
mov byte [esp + ecx + 0x34], 0
mov ecx, dword [esp + 0x10]
test edx, edx
je 0x415b79
mov al, byte [ecx + edx - 1]
cmp al, 0x20
je 0x415b6f
cmp al, 9
jne 0x415b79
mov byte [ecx + edx - 1], 0
sub edx, 1
jne 0x415b63
mov al, byte [ecx]
mov edi, ecx
test al, al
je 0x415b91
cmp al, 0x20
je 0x415b89
cmp al, 9
jne 0x415b91
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x415b81
cmp dword [ebp + 4], 0
jne 0x415bcb
test bl, bl
je 0x415bcb
lea eax, [esp + 0x34]
push eax
call dword [0x495050]
push edi
mov dword [ebp + 4], eax
call dword [0x495050]
add esp, 8
mov dword [ebp + 8], eax
cmp dword [ebp + 4], 0
je 0x415bc0
test eax, eax
jne 0x415c15
mov edi, dword [esp + 0x10]
mov bl, 1
jmp 0x415e3d
test edx, edx
jne 0x415c15
lea eax, [esp + 0x34]
push eax
push str.secure
call fcn.0042be10
add esp, 8
test eax, eax
je 0x415bee
mov byte [ebp + 0x30], 1
jmp 0x415ddc
lea eax, [esp + 0x34]
push eax
push str.httponly
call fcn.0042be10
add esp, 8
test eax, eax
je 0x415c0d
mov byte [ebp + 0x32], 1
jmp 0x415ddc
test bl, bl
je 0x415ddc
lea eax, [esp + 0x34]
push eax
push str.path
call fcn.0042be10
add esp, 8
test eax, eax
je 0x415c68
push dword [ebp + 0xc]
call dword [0x495048]
push edi
call dword [0x495050]
add esp, 8
mov dword [ebp + 0xc], eax
test eax, eax
je 0x415bc0
push eax
call fcn.00417290
mov edi, dword [esp + 0x14]
add esp, 4
mov dword [ebp + 0x10], eax
test eax, eax
jne 0x415de0
mov bl, 1
jmp 0x415e3d
lea eax, [esp + 0x34]
push eax
push str.domain
call fcn.0042be10
add esp, 8
test eax, eax
je 0x415d63
cmp byte [edi], 0x2e
jne 0x415c88
inc edi
push 0x2e
push edi
call fcn.0044f430
add esp, 8
test eax, eax
jne 0x415cb9
push edi
push str.localhost
call fcn.0042be10
add esp, 8
mov ecx, 0x47b314
test eax, eax
cmovne ecx, dword [esp + 0x1c]
mov esi, ecx
mov dword [esp + 0x1c], esi
jmp 0x415cbd
mov esi, dword [esp + 0x1c]
test esi, esi
mov eax, edi
cmovne eax, esi
push eax
call fcn.00417050
add esp, 4
mov bl, al
test esi, esi
je 0x415d09
test bl, bl
je 0x415d3c
mov edx, esi
mov ecx, edi
nop dword [eax + eax]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x415d00
test al, al
je 0x415cfc
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x415d00
add ecx, 2
add edx, 2
test al, al
jne 0x415ce0
xor eax, eax
jmp 0x415d05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x415d4a
push dword [ebp + 0x14]
call dword [0x495048]
push edi
call dword [0x495050]
add esp, 8
mov dword [ebp + 0x14], eax
test eax, eax
je 0x415bc0
mov edi, dword [esp + 0x10]
test bl, bl
jne 0x415de0
mov byte [ebp + 0x24], 1
jmp 0x415de0
push esi
push edi
call fcn.00417370
add esp, 8
test al, al
jne 0x415d09
push edi
push str.skipped_cookie_with_bad_tailmatch_domain:__s_n
push dword [esp + 0x38]
mov byte [esp + 0x20], 1
call fcn.00421980
add esp, 0xc
jmp 0x415ddc
lea eax, [esp + 0x34]
push eax
push str.version
call fcn.0042be10
add esp, 8
test eax, eax
je 0x415d7e
lea esi, [ebp + 0x28]
jmp 0x415d97
lea eax, [esp + 0x34]
push eax
push str.max_age
call fcn.0042be10
add esp, 8
test eax, eax
je 0x415db0
lea esi, [ebp + 0x2c]
push edi
push esi
call fcn.00417350
mov edi, dword [esp + 0x18]
add esp, 8
cmp dword [esi], 0
je 0x415c61
jmp 0x415de0
lea eax, [esp + 0x34]
push eax
push str.expires
call fcn.0042be10
add esp, 8
test eax, eax
je 0x415ddc
lea esi, [ebp + 0x20]
push edi
push esi
call fcn.00417350
add esp, 8
cmp dword [esi], 0
je 0x415bc0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x415e39
cmp byte [eax], 0
je 0x415e39
lea esi, [eax + 1]
mov al, byte [esi]
test al, al
je 0x415e06
cmp al, 0x20
je 0x415dfe
cmp al, 9
jne 0x415e06
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x415df6
push 0x3b
push esi
call fcn.0044f430
mov ebx, eax
add esp, 8
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x415ad4
cmp byte [esi], al
je 0x415e39
push eax
push esi
call fcn.0044f430
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x415ad4
mov ebx, dword [esp + 0x14]
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x415e99
cmp byte [eax], 0x22
jne 0x415e4a
inc eax
push 0xa
push 0
push eax
call fcn.0045e30a
or esi, 0xffffffff
mov dword [ebp + 0x18], eax
add esp, 0xc
mov dword [ebp + 0x1c], edx
sub esi, dword [esp + 0x28]
mov ecx, eax
mov eax, closesocket
sbb eax, dword [esp + 0x18]
cmp eax, edx
jg 0x415e89
jl 0x415e79
cmp esi, ecx
jae 0x415e89
mov dword [ebp + 0x18], 0xffffffff
mov dword [ebp + 0x1c], getpeername
jmp 0x415edb
add ecx, dword [esp + 0x28]
mov dword [ebp + 0x18], ecx
adc edx, dword [esp + 0x18]
mov dword [ebp + 0x1c], edx
jmp 0x415edb
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x415edb
push 0
push eax
call fcn.0042bfe0
mov dword [ebp + 0x1c], edx
add esp, 8
mov ecx, dword [ebp + 0x1c]
mov edx, eax
mov dword [ebp + 0x18], eax
or eax, ecx
jne 0x415ec3
mov dword [ebp + 0x18], 1
jmp 0x415ed4
test ecx, ecx
jg 0x415edb
jl 0x415ecd
test edx, edx
jae 0x415edb
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0
test bl, bl
jne 0x415f87
cmp dword [ebp + 0x14], 0
jne 0x415f06
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x415f06
push eax
call dword [0x495050]
add esp, 4
mov dword [ebp + 0x14], eax
test eax, eax
je 0x415f85
cmp dword [ebp + 0xc], 0
jne 0x415f87
mov esi, dword [esp + 0x24]
test esi, esi
je 0x415f87
push 0x3f
push esi
call fcn.0044f430
add esp, 8
test eax, eax
jne 0x415f34
push 0x2f
push esi
call fcn.0044f560
add esp, 8
jmp 0x415f42
sub eax, esi
push eax
push 0x2f
push esi
call fcn.0042c7b0
add esp, 0xc
mov esi, eax
test esi, esi
je 0x415f87
sub esi, dword [esp + 0x24]
inc esi
lea eax, [esi + 1]
push eax
call dword [0x495044]
add esp, 4
mov dword [ebp + 0xc], eax
test eax, eax
je 0x415f85
push esi
push dword [esp + 0x28]
push eax
call fcn.0044db60
mov eax, dword [ebp + 0xc]
mov byte [esi + eax], 0
push dword [ebp + 0xc]
call fcn.00417290
add esp, 0x10
mov dword [ebp + 0x10], eax
test eax, eax
jne 0x415f87
mov bl, 1
push edi
call dword [0x495048]
add esp, 4
test bl, bl
jne 0x415f9f
cmp dword [ebp + 4], 0
jne 0x416206
push ebp
call fcn.00416ed0
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x434]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00410d89
add esp, 0x428
ret
push 0xa
push str.HttpOnly_
push esi
mov dword [esp + 0x24], 0
call fcn.0045d270
add esp, 0xc
test eax, eax
jne 0x415fe6
add esi, 0xa
mov byte [ebp + 0x32], 1
cmp byte [esi], 0x23
je 0x415aa1
push 0xd
push esi
call fcn.0044f430
add esp, 8
test eax, eax
je 0x416001
mov byte [eax], 0
push 0xa
push esi
call fcn.0044f430
add esp, 8
test eax, eax
je 0x416013
mov byte [eax], 0
lea eax, [esp + 0x18]
push eax
push 0x47b36c
push esi
call fcn.0042c6b0
mov esi, eax
add esp, 0xc
xor edi, edi
test esi, esi
je 0x415f9f
test bl, bl
jne 0x4161d2
cmp edi, 6
ja case.default.0x416043
jmp dword [edi*4 + 0x4163dc]
cmp byte [esi], 0x2e
jne 0x416050
inc esi
push esi
call dword [0x495050]
add esp, 4
mov dword [ebp + 0x14], eax
test eax, eax
jne case.default.0x416043
mov bl, 1
jmp case.default.0x416043
push str.TRUE
push esi
call fcn.0042be10
add esp, 8
test eax, eax
setne al
mov byte [ebp + 0x24], al
jmp case.default.0x416043
mov ecx, esi
mov eax, str.TRUE
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4160b0
test dl, dl
je 0x4160ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4160b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x416090
xor eax, eax
jmp 0x4160b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x41611c
mov ecx, esi
mov eax, str.FALSE
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4160e0
test dl, dl
je 0x4160dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4160e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4160c0
xor eax, eax
jmp 0x4160e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x41611c
push esi
call dword [0x495050]
add esp, 4
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x416101
mov bl, 1
jmp case.default.0x416043
push eax
call fcn.00417290
add esp, 4
mov dword [ebp + 0x10], eax
test eax, eax
jne case.default.0x416043
mov bl, 1
jmp case.default.0x416043
push 0x47b2a0
call dword [0x495050]
test eax, eax
movzx ebx, bl
mov edi, 1
mov dword [ebp + 0xc], eax
push 0x47b2a0
cmove ebx, edi
call dword [0x495050]
add esp, 8
movzx ebx, bl
test eax, eax
mov dword [ebp + 0x10], eax
cmove ebx, edi
mov edi, 3
push str.TRUE
push esi
call fcn.0042be10
add esp, 8
test eax, eax
setne al
mov byte [ebp + 0x30], al
jmp case.default.0x416043
push 0xa
push 0
push esi
call fcn.0045e30a
add esp, 0xc
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], edx
jmp case.default.0x416043
push esi
call dword [0x495050]
add esp, 4
mov dword [ebp + 4], eax
test eax, eax
jne case.default.0x416043
mov bl, 1
jmp case.default.0x416043
push esi
call dword [0x495050]
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
movzx ecx, bl
mov eax, 1
cmove ecx, eax
mov bl, cl
lea eax, [esp + 0x18]
push eax
push 0x47b36c
push 0
call fcn.0042c6b0
mov esi, eax
add esp, 0xc
inc edi
test esi, esi
jne 0x416032
cmp edi, 6
jne 0x4161f5
push 0x47b37e
call dword [0x495050]
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x415f9f
mov edi, 7
test bl, bl
jne 0x415f9f
cmp edi, 7
jne 0x415f9f
mov ebx, dword [esp + 0x2c]
mov cl, byte [ebx + 8]
test cl, cl
jne 0x416222
cmp byte [ebx + 0x10], cl
je 0x416222
mov eax, dword [ebp + 0x18]
or eax, dword [ebp + 0x1c]
je 0x415f9f
push ebx
mov byte [ebp + 0x31], cl
call fcn.004171c0
mov esi, dword [ebx]
add esp, 4
xor bl, bl
test esi, esi
je 0x416378
nop word [eax + eax]
push dword [ebp + 4]
push dword [esi + 4]
call fcn.0042be10
add esp, 8
test eax, eax
je 0x41636a
mov eax, dword [esi + 0x14]
test eax, eax
je 0x41628b
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x416283
push ecx
push eax
call fcn.0042be10
add esp, 8
test eax, eax
je 0x41636a
mov al, byte [esi + 0x24]
cmp al, byte [ebp + 0x24]
je 0x416295
jmp 0x41636a
test eax, eax
jne 0x41636a
cmp dword [ebp + 0x14], 0
jne 0x41636a
mov eax, dword [esi + 0x10]
test eax, eax
je 0x41635e
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x41635a
push ecx
push eax
call fcn.0042be10
add esp, 8
test eax, eax
je 0x416368
cmp byte [ebp + 0x31], 0
mov bl, 1
jne 0x4162cf
cmp byte [esi + 0x31], 0
jne 0x415f9f
mov eax, dword [esi]
mov dword [ebp], eax
push dword [esi + 4]
call dword [0x495048]
push dword [esi + 8]
call dword [0x495048]
push dword [esi + 0x14]
call dword [0x495048]
push dword [esi + 0xc]
call dword [0x495048]
push dword [esi + 0x10]
call dword [0x495048]
push dword [esi + 0x20]
call dword [0x495048]
push dword [esi + 0x28]
call dword [0x495048]
push dword [esi + 0x2c]
call dword [0x495048]
movups xmm0, xmmword [ebp]
push ebp
movups xmmword [esi], xmm0
movups xmm0, xmmword [ebp + 0x10]
movups xmmword [esi + 0x10], xmm0
movups xmm0, xmmword [ebp + 0x20]
movups xmmword [esi + 0x20], xmm0
movq xmm0, qword [ebp + 0x30]
movq qword [esi + 0x30], xmm0
call dword [0x495048]
add esp, 0x24
mov ebp, esi
nop dword [eax]
mov edi, esi
mov esi, dword [esi]
test esi, esi
jne 0x416350
jmp 0x41637a
test eax, eax
jne 0x416368
cmp dword [ebp + 0x10], 0
je 0x4162bd
xor bl, bl
mov edi, esi
mov esi, dword [esi]
test esi, esi
jne 0x416240
jmp 0x41637a
xor edi, edi
mov esi, dword [esp + 0x2c]
cmp byte [esi + 8], 0
je 0x4163b7
push dword [ebp + 0x1c]
mov ecx, str.Added
test bl, bl
push dword [ebp + 0x18]
mov eax, str.Replaced
push dword [ebp + 0xc]
cmove eax, ecx
push dword [ebp + 0x14]
push dword [ebp + 8]
push dword [ebp + 4]
push eax
push str._s_cookie__s__s__for_domain__s__path__s__expire__I64d_n
push dword [esp + 0x50]
call fcn.00421980
add esp, 0x24
test bl, bl
jne 0x4163d0
test edi, edi
je 0x4163cb
mov dword [edi], ebp
mov eax, ebp
inc dword [esi + 0xc]
jmp 0x415faa
inc dword [esi + 0xc]
mov dword [esi], ebp
mov eax, ebp
jmp 0x415faa
call fcn.00411653
dec edx
pushal
inc ecx
add byte [eax + 0x41], ch
add byte [edi + 0x55004160], al
popal
inc ecx
add byte [ebp + 0x61], ch
inc ecx
add byte [edx - 0x68ffbe9f], al
popal
inc ecx
add ah, cl
int3