Function at 0x422020
Capabilities:
Authenticate hmac
Check http status code
Encode data using xor
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52340a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd70
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x1b0]
xor edi, edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], edi
push dword [ebp - 0x34]
call fcn.00402b60
push edi
push 0x5424b0
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 4], edi
call fcn.00402b80
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x198]
push dword [ebp - 0x34]
call fcn.00402b60
push edi
push 0x5424b0
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 2
call fcn.00402b80
push dword [ebp - 0x34]
lea ecx, [ebp - 0x214]
call fcn.00402b60
push edi
push 0x5424b0
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 4
call fcn.00402b80
mov byte [ebp - 4], 5
cmp dword [0x55abfc], edi
jne 0x422bc4
push dword [ebp - 0x34]
lea ecx, [ebp - 0x4f0]
call fcn.00402b60
push edi
push 0x5424b0
lea ecx, [ebp - 0x4f0]
mov byte [ebp - 4], 7
call fcn.00402b80
push 0x98
mov byte [ebp - 4], 8
call fcn.004fae70
add esp, 4
mov dword [ebp - 0x24], eax
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.0049c680
movaps xmm0, xmmword [0x546ee0]
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x28], esp
mov dword [ebp - 0x30], esi
mov ecx, esi
mov dword [ebp - 0x24], eax
push dword [ebp - 0x28]
mov dword [ebp - 0x17f], 0xa4e0f8e6
mov word [ebp - 0x17b], 0xf5e6
mov byte [ebp - 0x179], 0xe4
movups xmmword [ebp - 0x178], xmm0
call fcn.00402b60
push 0x31
push str.Content_Type:_application_x_www_form_urlencoded_r_n
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.00488490
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x30], esi
mov ecx, esi
push dword [ebp - 0x2c]
call fcn.00402b60
push edi
push 0x5424b0
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.00402b80
xor eax, eax
mov byte [ebp - 4], 0xd
xor ecx, ecx
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0x17f], al
lea eax, [edx + 1]
mov dword [0x55d57c], eax
mov ecx, eax
mov edx, eax
cmp eax, 0xd
jb 0x422194
lea eax, [ebp - 0x17f]
mov byte [ebp - 0x172], 0
push eax
lea ecx, [ebp - 0xa1c]
call fcn.00402ab0
mov ebx, 0x4000
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0xa1c]
call fcn.00402b50
sub esp, 0x18
mov dword [ebp - 0x30], eax
mov esi, esp
mov dword [ebp - 0x18], esi
mov ecx, esi
push dword [ebp - 0x18]
call fcn.00402b60
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x30]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422201
sub ecx, dword [ebp - 0x30]
push ecx
push edx
mov ecx, esi
call fcn.00402b80
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x4f0]
push 0
push eax
push 0xb
push 0xa
mov byte [ebp - 4], 0x10
call fcn.0049d590
lea ecx, [ebp - 0xa1c]
mov byte [ebp - 4], 8
mov esi, eax
call fcn.00402a10
cmp esi, 0xc8
jne 0x422559
sub esp, 0x28
lea edx, [ebp - 0x4f0]
mov eax, esp
lea ecx, [ebp - 0x228]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x11
mov al, byte [ebp - 0x228]
cmp al, 1
jne 0x422317
test al, al
je 0x422317
xorps xmm0, xmm0
mov word [ebp - 0x11c], 0xf8ee
xor eax, eax
movq qword [ebp - 0x11a], xmm0
xor ecx, ecx
mov word [ebp - 0x112], 0
xor edx, edx
nop
sub al, 0x79
xor byte [ebp + ecx - 0x11c], al
lea eax, [edx + 1]
mov dword [0x55d598], eax
mov ecx, eax
mov edx, eax
cmp eax, 2
jb 0x4222b0
lea eax, [ebp - 0x11c]
mov byte [ebp - 0x11a], 0
push eax
lea ecx, [ebp - 0xb9c]
call fcn.00402ab0
mov edi, connect
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xb9c]
mov ebx, 0x4001
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
lea ecx, [ebp - 0x228]
call fcn.00486ff0
mov byte [ebp - 0x11], 1
cmp byte [eax], 3
je 0x42231b
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0x11
test bl, 1
je 0x42233b
and ebx, 0xfffffffe
lea ecx, [ebp - 0xb9c]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
call fcn.00402a10
cmp byte [ebp - 0x11], 0
je 0x42254e
xorps xmm0, xmm0
mov word [ebp - 0x128], 0xf8ee
xor eax, eax
movq qword [ebp - 0x126], xmm0
xor ecx, ecx
mov word [ebp - 0x11e], 0
xor edx, edx
nop dword [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x128], al
lea eax, [edx + 1]
mov dword [0x55d598], eax
mov ecx, eax
mov edx, eax
cmp eax, 2
jb 0x422370
lea eax, [ebp - 0x128]
mov byte [ebp - 0x126], 0
push eax
lea ecx, [ebp - 0xbb4]
call fcn.00402ab0
or edi, 0x200
lea ecx, [ebp - 0xbb4]
mov byte [ebp - 4], 0x13
call fcn.00402b50
push eax
lea ecx, [ebp - 0x228]
call fcn.00486ff0
mov esi, eax
lea ecx, [ebp - 0x528]
mov byte [ebp - 4], 0x14
call fcn.00402b20
or edi, 0x400
lea edx, [ebp - 0x528]
mov ecx, esi
mov dword [ebp - 0x24], edi
call fcn.00496c70
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x198]
call fcn.00482e90
lea ecx, [ebp - 0x528]
call fcn.00402a10
lea ecx, [ebp - 0xbb4]
mov byte [ebp - 4], 0x11
call fcn.00402a10
xorps xmm0, xmm0
mov word [ebp - 0x134], 0xebe4
xor eax, eax
movq qword [ebp - 0x132], xmm0
xor ecx, ecx
mov word [ebp - 0x12a], 0
xor edx, edx
nop word [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x134], al
lea eax, [edx + 1]
mov dword [0x55d598], eax
mov ecx, eax
mov edx, eax
cmp eax, 2
jb 0x422440
lea eax, [ebp - 0x134]
mov byte [ebp - 0x132], 0
push eax
lea ecx, [ebp - 0xbcc]
call fcn.00402ab0
lea ecx, [ebp - 0xbcc]
mov byte [ebp - 4], 0x15
call fcn.00402b50
push eax
lea ecx, [ebp - 0x228]
call fcn.00486ff0
lea ecx, [ebp - 0xbcc]
mov bl, byte [eax]
mov byte [ebp - 4], 0x11
call fcn.00402a10
cmp bl, 3
jne 0x42254e
xorps xmm0, xmm0
mov word [ebp - 0x140], 0xebe4
xor eax, eax
movq qword [ebp - 0x13e], xmm0
xor ecx, ecx
mov word [ebp - 0x136], 0
xor edx, edx
nop dword [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x140], al
lea eax, [edx + 1]
mov dword [0x55d598], eax
mov ecx, eax
mov edx, eax
cmp eax, 2
jb 0x4224d0
lea eax, [ebp - 0x140]
mov byte [ebp - 0x13e], 0
push eax
lea ecx, [ebp - 0xbe4]
call fcn.00402ab0
lea ecx, [ebp - 0xbe4]
mov byte [ebp - 4], 0x16
call fcn.00402b50
push eax
lea ecx, [ebp - 0x228]
call fcn.00486ff0
lea ecx, [ebp - 0xd1c]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00482e90
lea ecx, [ebp - 0xd1c]
call fcn.00402a10
lea ecx, [ebp - 0xbe4]
call fcn.00402a10
lea ecx, [ebp - 0x228]
call fcn.00480b00
lea ecx, [ebp - 0x4f0]
call fcn.00402a10
mov dword [ebp - 4], 5
mov ebx, dword [ebp - 0x20]
jmp 0x42262a
cmp dword [ebp - 0x188], 0
ja 0x422be1
push dword [ebp - 0x18]
lea ecx, [ebp - 0x490]
call fcn.00402b60
push 0
push 0x5424b0
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0x1b
call fcn.00402b80
push 0x98
mov byte [ebp - 4], 0x1c
call fcn.004fae70
add esp, 4
mov dword [ebp - 0x18], eax
mov ecx, eax
mov byte [ebp - 4], 0x1d
call fcn.0049c680
movaps xmm0, xmmword [0x5489e0]
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x18], esp
movups xmmword [ebp - 0x377], xmm0
mov ecx, esi
mov dword [ebp - 0x24], eax
movaps xmm0, xmmword [0x547070]
mov dword [ebp - 0x2c], esi
push dword [ebp - 0x18]
mov dword [ebp - 0x367], 0xe8f6fea8
mov word [ebp - 0x363], 0xfdf6
movups xmmword [ebp - 0x361], xmm0
call fcn.00402b60
push 0x31
push str.Content_Type:_application_x_www_form_urlencoded_r_n
mov ecx, esi
mov byte [ebp - 4], 0x1e
call fcn.00488490
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x28], esi
mov ecx, esi
push dword [ebp - 0x18]
call fcn.00402b60
push 0
push 0x5424b0
mov ecx, esi
mov byte [ebp - 4], 0x20
call fcn.00402b80
xor eax, eax
mov byte [ebp - 4], 0x21
xor ecx, ecx
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0x377], al
lea eax, [edx + 1]
mov dword [0x55d5f4], eax
mov ecx, eax
mov edx, eax
cmp eax, 0x1c
jb 0x422704
lea eax, [ebp - 0x377]
mov byte [ebp - 0x35b], 0
push eax
lea ecx, [ebp - 0xc2c]
call fcn.00402ab0
lea ecx, [ebp - 0xc2c]
call fcn.00402b50
sub esp, 0x18
mov edi, eax
mov esi, esp
mov dword [ebp - 0x28], esi
mov ecx, esi
push dword [ebp - 0x18]
call fcn.00402b60
mov ecx, edi
mov byte [ebp - 4], 0x23
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422760
sub ecx, edx
push ecx
push edi
mov ecx, esi
call fcn.00402b80
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x490]
push 0
push eax
push 0xb
push 0xa
mov byte [ebp - 4], 0x24
call fcn.0049d590
lea ecx, [ebp - 0xc2c]
mov byte [ebp - 4], 0x1c
mov esi, eax
call fcn.00402a10
cmp esi, 0xc8
jne 0x422949
sub esp, 0x28
lea edx, [ebp - 0x490]
mov eax, esp
lea ecx, [ebp - 0x388]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x25
mov al, byte [ebp - 0x388]
cmp al, 1
jne 0x42286d
test al, al
je 0x42286d
xorps xmm0, xmm0
mov word [ebp - 0x14c], 0xf8ee
xor eax, eax
movq qword [ebp - 0x14a], xmm0
xor ecx, ecx
mov word [ebp - 0x142], 0
xor edx, edx
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0x14c], al
lea eax, [edx + 1]
mov dword [0x55d598], eax
mov ecx, eax
mov edx, eax
cmp eax, 2
jb 0x422810
lea eax, [ebp - 0x14c]
mov byte [ebp - 0x14a], 0
push eax
lea ecx, [ebp - 0xc44]
call fcn.00402ab0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xc44]
or ebx, 2
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
lea ecx, [ebp - 0x388]
call fcn.00486ff0
mov byte [ebp - 0x11], 1
cmp byte [eax], 3
je 0x422871
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0x25
test bl, 2
je 0x42288e
and ebx, 0xfffffffd
lea ecx, [ebp - 0xc44]
mov dword [ebp - 0x1c], ebx
call fcn.00402a10
cmp byte [ebp - 0x11], 0
je 0x42293e
xorps xmm0, xmm0
mov word [ebp - 0x158], 0xf8ee
xor eax, eax
movq qword [ebp - 0x156], xmm0
xor ecx, ecx
mov word [ebp - 0x14e], 0
xor edx, edx
nop dword [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x158], al
lea eax, [edx + 1]
mov dword [0x55d598], eax
mov ecx, eax
mov edx, eax
cmp eax, 2
jb 0x4228c0
lea eax, [ebp - 0x158]
mov byte [ebp - 0x156], 0
push eax
lea ecx, [ebp - 0xc5c]
call fcn.00402ab0
lea ecx, [ebp - 0xc5c]
mov byte [ebp - 4], 0x27
call fcn.00402b50
push eax
lea ecx, [ebp - 0x388]
call fcn.00486ff0
lea ecx, [ebp - 0xcec]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [ebp - 0x198]
call fcn.00482e90
lea ecx, [ebp - 0xcec]
call fcn.00402a10
lea ecx, [ebp - 0xc5c]
call fcn.00402a10
lea ecx, [ebp - 0x388]
call fcn.00480b00
lea ecx, [ebp - 0x490]
call fcn.00402a10
mov dword [ebp - 4], 5
jmp 0x422bd4
push 0x55abec
lea ecx, [ebp - 0x198]
call fcn.00482e60
cmp dword [ebp - 0x188], 0
je 0x424868
push dword [ebp - 0x18]
lea ecx, [ebp - 0x4a8]
call fcn.00402b60
push 0
push 0x5424b0
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 0x2c
call fcn.00402b80
push 0x98
mov byte [ebp - 4], 0x2d
call fcn.004fae70
add esp, 4
mov dword [ebp - 0x18], eax
mov ecx, eax
mov byte [ebp - 4], 0x2e
call fcn.0049c680
movaps xmm0, xmmword [0x549490]
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x18], esp
movups xmmword [ebp - 0x510], xmm0
mov ecx, esi
mov edi, eax
movaps xmm0, xmmword [0x546e50]
mov dword [ebp - 0x2c], esi
push dword [ebp - 0x18]
movups xmmword [ebp - 0x500], xmm0
call fcn.00402b60
push 0
push 0x542adc
mov ecx, esi
mov byte [ebp - 4], 0x2f
call fcn.00488490
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x28], esi
mov ecx, esi
push dword [ebp - 0x18]
call fcn.00402b60
push 0
push 0x5424b0
mov ecx, esi
mov byte [ebp - 4], 0x31
call fcn.00402b80
xor eax, eax
mov byte [ebp - 4], 0x32
xor ecx, ecx
xor edx, edx
nop word [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x510], al
lea eax, [edx + 1]
mov dword [0x55d574], eax
mov ecx, eax
mov edx, eax
cmp eax, 0x16
jb 0x422ca0
lea eax, [ebp - 0x510]
mov byte [ebp - 0x4fa], 0
push eax
lea ecx, [ebp - 0xca4]
call fcn.00402ab0
or ebx, 0x20000
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0xca4]
mov byte [ebp - 4], 0x33
call fcn.00402b50
sub esp, 0x18
lea edx, [ebp - 0x198]
mov ecx, esp
push edx
mov edx, eax
call fcn.00486de0
add esp, 4
push str.https:__ipinfo.io_
lea eax, [ebp - 0x4a8]
mov byte [ebp - 4], 0x34
push eax
push 0xb
push 0xa
mov ecx, edi
call fcn.0049d590
lea ecx, [ebp - 0xca4]
mov byte [ebp - 4], 0x2d
mov esi, eax
call fcn.00402a10
cmp esi, 0xc8
jne 0x423254
sub esp, 0x28
lea edx, [ebp - 0x4a8]
mov eax, esp
lea ecx, [ebp - 0x1c0]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x35
mov al, byte [ebp - 0x1c0]
cmp al, 1
jne 0x422dec
test al, al
je 0x422dec
xorps xmm0, xmm0
mov dword [ebp - 0x6e], 0xebfde9e3
xor eax, eax
movq qword [ebp - 0x6a], xmm0
xor ecx, ecx
mov word [ebp - 0x62], 0
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0x6e], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x422d95
lea eax, [ebp - 0x6e]
mov byte [ebp - 0x6a], 0
push eax
lea ecx, [ebp - 0xcbc]
call fcn.00402ab0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xcbc]
or ebx, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00486ff0
mov byte [ebp - 0x11], 1
cmp byte [eax], 1
je 0x422df0
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0x35
test bl, 4
je 0x422e10
and ebx, 0xfffffffb
lea ecx, [ebp - 0xcbc]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
call fcn.00402a10
cmp byte [ebp - 0x11], 0
je 0x423249
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0xebfde9e3
xor eax, eax
movq qword [ebp - 0x5c], xmm0
xor ecx, ecx
mov word [ebp - 0x54], 0
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0x60], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x422e35
lea eax, [ebp - 0x60]
mov byte [ebp - 0x5c], 0
push eax
lea ecx, [ebp - 0x7ac]
call fcn.00402ab0
lea ecx, [ebp - 0x7ac]
mov byte [ebp - 4], 0x37
call fcn.00402b50
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00486ff0
movaps xmm0, xmmword [0x548090]
mov esi, eax
xor ecx, ecx
mov byte [ebp - 0x351], 0xe4
xor eax, eax
xor edx, edx
movups xmmword [ebp - 0x350], xmm0
nop word [eax + eax]
sub cl, 0x79
xor byte [ebp + eax - 0x351], cl
lea ecx, [edx + 1]
mov dword [0x55d560], ecx
mov eax, ecx
mov edx, ecx
cmp ecx, 7
jb 0x422ea0
lea eax, [ebp - 0x351]
mov byte [ebp - 0x34a], 0
push eax
lea ecx, [ebp - 0x794]
call fcn.00402ab0
lea ecx, [ebp - 0x794]
mov byte [ebp - 4], 0x38
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x794]
mov bl, byte [eax]
call fcn.00402a10
lea ecx, [ebp - 0x7ac]
mov byte [ebp - 4], 0x35
call fcn.00402a10
cmp bl, 3
jne 0x42301d
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0xebfde9e3
xor eax, eax
movq qword [ebp - 0x78], xmm0
xor ecx, ecx
mov word [ebp - 0x70], 0
xor edx, edx
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0x7c], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x422f30
lea eax, [ebp - 0x7c]
mov byte [ebp - 0x78], 0
push eax
lea ecx, [ebp - 0x7dc]
call fcn.00402ab0
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x39
call fcn.00402b50
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00486ff0
movaps xmm0, xmmword [0x548090]
mov esi, eax
xor ecx, ecx
mov byte [ebp - 0x2eb], 0xe4
xor eax, eax
xor edx, edx
movups xmmword [ebp - 0x2ea], xmm0
sub cl, 0x79
xor byte [ebp + eax - 0x2eb], cl
lea ecx, [edx + 1]
mov dword [0x55d560], ecx
mov eax, ecx
mov edx, ecx
cmp ecx, 7
jb 0x422f92
lea eax, [ebp - 0x2eb]
mov byte [ebp - 0x2e4], 0
push eax
lea ecx, [ebp - 0x7c4]
call fcn.00402ab0
lea ecx, [ebp - 0x7c4]
mov byte [ebp - 4], 0x3a
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0xd04]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00482e90
lea ecx, [ebp - 0xd04]
call fcn.00402a10
lea ecx, [ebp - 0x7c4]
call fcn.00402a10
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x35
call fcn.00402a10
xorps xmm0, xmm0
mov dword [ebp - 0x8a], 0xebfde9e3
xor eax, eax
movq qword [ebp - 0x86], xmm0
xor ecx, ecx
mov word [ebp - 0x7e], 0
xor edx, edx
nop
sub al, 0x79
xor byte [ebp + ecx - 0x8a], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x423040
lea eax, [ebp - 0x8a]
mov byte [ebp - 0x86], 0
push eax
lea ecx, [ebp - 0x80c]
call fcn.00402ab0
lea ecx, [ebp - 0x80c]
mov byte [ebp - 4], 0x3b
call fcn.00402b50
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00486ff0
mov esi, eax
mov dword [ebp - 0x98], 0xf3fde1e4
xorps xmm0, xmm0
mov word [ebp - 0x8c], 0
xor eax, eax
movq qword [ebp - 0x94], xmm0
xor ecx, ecx
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0x98], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x4230b4
lea eax, [ebp - 0x98]
mov byte [ebp - 0x94], 0
push eax
lea ecx, [ebp - 0x7f4]
call fcn.00402ab0
lea ecx, [ebp - 0x7f4]
mov byte [ebp - 4], 0x3c
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x7f4]
mov bl, byte [eax]
call fcn.00402a10
lea ecx, [ebp - 0x80c]
mov byte [ebp - 4], 0x35
call fcn.00402a10
cmp bl, 3
jne 0x423249
xorps xmm0, xmm0
mov dword [ebp - 0xa6], 0xebfde9e3
xor eax, eax
movq qword [ebp - 0xa2], xmm0
xor ecx, ecx
mov word [ebp - 0x9a], 0
xor edx, edx
nop word [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0xa6], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x423150
lea eax, [ebp - 0xa6]
mov byte [ebp - 0xa2], 0
push eax
lea ecx, [ebp - 0x83c]
call fcn.00402ab0
lea ecx, [ebp - 0x83c]
mov byte [ebp - 4], 0x3d
call fcn.00402b50
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00486ff0
mov esi, eax
mov dword [ebp - 0xb4], 0xf3fde1e4
xorps xmm0, xmm0
mov word [ebp - 0xa8], 0
xor eax, eax
movq qword [ebp - 0xb0], xmm0
xor ecx, ecx
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0xb4], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x4231c4
lea eax, [ebp - 0xb4]
mov byte [ebp - 0xb0], 0
push eax
lea ecx, [ebp - 0x824]
call fcn.00402ab0
lea ecx, [ebp - 0x824]
mov byte [ebp - 4], 0x3e
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0xd7c]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [ebp - 0x214]
call fcn.00482e90
lea ecx, [ebp - 0xd7c]
call fcn.00402a10
lea ecx, [ebp - 0x824]
call fcn.00402a10
lea ecx, [ebp - 0x83c]
call fcn.00402a10
lea ecx, [ebp - 0x1c0]
call fcn.00480b00
lea ecx, [ebp - 0x4a8]
call fcn.00402a10
mov dword [ebp - 4], 5
mov ebx, dword [ebp - 0x20]
jmp 0x42333d
cmp dword [ebp - 0x1a0], 0
jbe 0x423353
cmp dword [ebp - 0x204], 0
ja 0x423a16
push dword [ebp - 0x18]
lea ecx, [ebp - 0x4c0]
call fcn.00402b60
push 0
push 0x5424b0
lea ecx, [ebp - 0x4c0]
mov byte [ebp - 4], 0x43
call fcn.00402b80
push 0x98
mov byte [ebp - 4], 0x44
call fcn.004fae70
add esp, 4
mov dword [ebp - 0x18], eax
mov ecx, eax
mov byte [ebp - 4], 0x45
call fcn.0049c680
movaps xmm0, xmmword [0x54a0b0]
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x18], esp
movups xmmword [ebp - 0x3ac], xmm0
mov ecx, esi
mov edi, eax
movaps xmm0, xmmword [0x546cc0]
mov dword [ebp - 0x2c], esi
push dword [ebp - 0x18]
mov dword [ebp - 0x39c], 0xb4fcf5f8
movups xmmword [ebp - 0x398], xmm0
call fcn.00402b60
push 0x31
push str.Content_Type:_application_x_www_form_urlencoded_r_n
mov ecx, esi
mov byte [ebp - 4], 0x46
call fcn.00488490
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x28], esi
mov ecx, esi
push dword [ebp - 0x18]
call fcn.00402b60
push 0
push 0x5424b0
mov ecx, esi
mov byte [ebp - 4], 0x48
call fcn.00402b80
xor eax, eax
mov byte [ebp - 4], 0x49
xor ecx, ecx
xor edx, edx
nop word [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x3ac], al
lea eax, [edx + 1]
mov dword [0x55d610], eax
mov ecx, eax
mov edx, eax
cmp eax, 0x1a
jb 0x423420
lea eax, [ebp - 0x3ac]
mov byte [ebp - 0x392], 0
push eax
lea ecx, [ebp - 0x884]
call fcn.00402ab0
or ebx, 0x100000
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x884]
mov byte [ebp - 4], 0x4a
call fcn.00402b50
sub esp, 0x18
lea edx, [ebp - 0x198]
mov ecx, esp
push edx
mov edx, eax
call fcn.00486de0
add esp, 4
push 0
lea eax, [ebp - 0x4c0]
mov byte [ebp - 4], 0x4b
push eax
push 0xb
push 0xa
mov ecx, edi
call fcn.0049d590
lea ecx, [ebp - 0x884]
mov byte [ebp - 4], 0x44
mov esi, eax
call fcn.00402a10
cmp esi, 0xc8
jne 0x423a04
sub esp, 0x28
lea edx, [ebp - 0x4c0]
mov eax, esp
lea ecx, [ebp - 0x1d0]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x4c
mov al, byte [ebp - 0x1d0]
cmp al, 1
jne 0x423574
test al, al
je 0x423574
movaps xmm0, xmmword [0x5474e0]
xor eax, eax
xor ecx, ecx
mov word [ebp - 0x25e], 0xede3
movups xmmword [ebp - 0x25c], xmm0
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0x25e], al
lea eax, [edx + 1]
mov dword [0x55d624], eax
mov ecx, eax
mov edx, eax
cmp eax, 8
jb 0x423514
lea eax, [ebp - 0x25e]
mov byte [ebp - 0x256], 0
push eax
lea ecx, [ebp - 0x89c]
call fcn.00402ab0
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x89c]
or ebx, 8
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
lea ecx, [ebp - 0x1d0]
call fcn.00486ff0
mov byte [ebp - 0x11], 1
cmp byte [eax], 1
je 0x423578
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0x4c
test bl, 8
je 0x423598
and ebx, 0xfffffff7
lea ecx, [ebp - 0x89c]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
call fcn.00402a10
cmp byte [ebp - 0x11], 0
je 0x4239f9
movaps xmm0, xmmword [0x5474e0]
xor eax, eax
xor ecx, ecx
mov word [ebp - 0x270], 0xede3
movups xmmword [ebp - 0x26e], xmm0
xor edx, edx
nop
sub al, 0x79
xor byte [ebp + ecx - 0x270], al
lea eax, [edx + 1]
mov dword [0x55d624], eax
mov ecx, eax
mov edx, eax
cmp eax, 8
jb 0x4235c0
lea eax, [ebp - 0x270]
mov byte [ebp - 0x268], 0
push eax
lea ecx, [ebp - 0x8cc]
call fcn.00402ab0
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 0x4e
call fcn.00402b50
push eax
lea ecx, [ebp - 0x1d0]
call fcn.00486ff0
movaps xmm0, xmmword [0x548040]
mov esi, eax
xor eax, eax
mov dword [ebp - 0x1e5], 0xe4fce7e4
xor ecx, ecx
mov byte [ebp - 0x1e1], 0xff
movups xmmword [ebp - 0x1e0], xmm0
xor edx, edx
nop word [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x1e5], al
lea eax, [edx + 1]
mov dword [0x55d530], eax
mov ecx, eax
mov edx, eax
cmp eax, 0xb
jb 0x423640
lea eax, [ebp - 0x1e5]
mov byte [ebp - 0x1da], 0
push eax
lea ecx, [ebp - 0x8b4]
call fcn.00402ab0
lea ecx, [ebp - 0x8b4]
mov byte [ebp - 4], 0x4f
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x8b4]
mov bl, byte [eax]
call fcn.00402a10
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 0x4c
call fcn.00402a10
cmp bl, 3
jne 0x4237d9
movaps xmm0, xmmword [0x5474e0]
xor eax, eax
xor ecx, ecx
mov word [ebp - 0x24c], 0xede3
movups xmmword [ebp - 0x24a], xmm0
xor edx, edx
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0x24c], al
lea eax, [edx + 1]
mov dword [0x55d624], eax
mov ecx, eax
mov edx, eax
cmp eax, 8
jb 0x4236d0
lea eax, [ebp - 0x24c]
mov byte [ebp - 0x244], 0
push eax
lea ecx, [ebp - 0x8fc]
call fcn.00402ab0
lea ecx, [ebp - 0x8fc]
mov byte [ebp - 4], 0x50
call fcn.00402b50
push eax
lea ecx, [ebp - 0x1d0]
call fcn.00486ff0
movaps xmm0, xmmword [0x548040]
mov esi, eax
xor eax, eax
mov dword [ebp - 0x1fa], 0xe4fce7e4
xor ecx, ecx
mov byte [ebp - 0x1f6], 0xff
movups xmmword [ebp - 0x1f5], xmm0
xor edx, edx
nop word [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x1fa], al
lea eax, [edx + 1]
mov dword [0x55d530], eax
mov ecx, eax
mov edx, eax
cmp eax, 0xb
jb 0x423750
lea eax, [ebp - 0x1fa]
mov byte [ebp - 0x1ef], 0
push eax
lea ecx, [ebp - 0x8e4]
call fcn.00402ab0
lea ecx, [ebp - 0x8e4]
mov byte [ebp - 4], 0x51
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0xd34]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00482e90
lea ecx, [ebp - 0xd34]
call fcn.00402a10
lea ecx, [ebp - 0x8e4]
call fcn.00402a10
lea ecx, [ebp - 0x8fc]
mov byte [ebp - 4], 0x4c
call fcn.00402a10
movaps xmm0, xmmword [0x5474e0]
xor eax, eax
xor ecx, ecx
mov word [ebp - 0x282], 0xede3
movups xmmword [ebp - 0x280], xmm0
xor edx, edx
nop word [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x282], al
lea eax, [edx + 1]
mov dword [0x55d624], eax
mov ecx, eax
mov edx, eax
cmp eax, 8
jb 0x423800
lea eax, [ebp - 0x282]
mov byte [ebp - 0x27a], 0
push eax
lea ecx, [ebp - 0x92c]
call fcn.00402ab0
lea ecx, [ebp - 0x92c]
mov byte [ebp - 4], 0x52
call fcn.00402b50
push eax
lea ecx, [ebp - 0x1d0]
call fcn.00486ff0
mov esi, eax
mov dword [ebp - 0xc2], 0xf3fde1e4
xorps xmm0, xmm0
mov word [ebp - 0xb6], 0
xor eax, eax
movq qword [ebp - 0xbe], xmm0
xor ecx, ecx
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0xc2], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x423874
lea eax, [ebp - 0xc2]
mov byte [ebp - 0xbe], 0
push eax
lea ecx, [ebp - 0x914]
call fcn.00402ab0
lea ecx, [ebp - 0x914]
mov byte [ebp - 4], 0x53
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x914]
mov bl, byte [eax]
call fcn.00402a10
lea ecx, [ebp - 0x92c]
mov byte [ebp - 4], 0x4c
call fcn.00402a10
cmp bl, 3
jne 0x4239f9
movaps xmm0, xmmword [0x5474e0]
xor eax, eax
xor ecx, ecx
mov word [ebp - 0x294], 0xede3
movups xmmword [ebp - 0x292], xmm0
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0x294], al
lea eax, [edx + 1]
mov dword [0x55d624], eax
mov ecx, eax
mov edx, eax
cmp eax, 8
jb 0x423900
lea eax, [ebp - 0x294]
mov byte [ebp - 0x28c], 0
push eax
lea ecx, [ebp - 0x95c]
call fcn.00402ab0
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], 0x54
call fcn.00402b50
push eax
lea ecx, [ebp - 0x1d0]
call fcn.00486ff0
mov esi, eax
mov dword [ebp - 0xd0], 0xf3fde1e4
xorps xmm0, xmm0
mov word [ebp - 0xc4], 0
xor eax, eax
movq qword [ebp - 0xcc], xmm0
xor ecx, ecx
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0xd0], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x423974
lea eax, [ebp - 0xd0]
mov byte [ebp - 0xcc], 0
push eax
lea ecx, [ebp - 0x944]
call fcn.00402ab0
lea ecx, [ebp - 0x944]
mov byte [ebp - 4], 0x55
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0xd4c]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [ebp - 0x214]
call fcn.00482e90
lea ecx, [ebp - 0xd4c]
call fcn.00402a10
lea ecx, [ebp - 0x944]
call fcn.00402a10
lea ecx, [ebp - 0x95c]
call fcn.00402a10
lea ecx, [ebp - 0x1d0]
call fcn.00480b00
lea ecx, [ebp - 0x4c0]
call fcn.00402a10
mov dword [ebp - 4], 5
mov ebx, dword [ebp - 0x20]
cmp dword [ebp - 0x1a0], 0
jbe 0x423a2f
cmp dword [ebp - 0x204], 0
ja 0x42443d
push dword [ebp - 0x18]
lea ecx, [ebp - 0x4d8]
call fcn.00402b60
push 0
push 0x5424b0
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 4], 0x5a
call fcn.00402b80
push 0x98
mov byte [ebp - 4], 0x5b
call fcn.004fae70
add esp, 4
mov dword [ebp - 0x18], eax
mov ecx, eax
mov byte [ebp - 4], 0x5c
call fcn.0049c680
movaps xmm0, xmmword [0x548a00]
sub esp, 0x18
movups xmmword [ebp - 0x478], xmm0
mov esi, esp
mov dword [ebp - 0x18], esp
movaps xmm0, xmmword [0x548760]
mov ecx, esi
movups xmmword [ebp - 0x468], xmm0
mov dword [ebp - 0x2c], esi
xorps xmm0, xmm0
mov dword [ebp - 0x24], eax
push dword [ebp - 0x18]
mov word [ebp - 0x458], 0xcdca
movq qword [ebp - 0x456], xmm0
mov word [ebp - 0x44e], 0
call fcn.00402b60
push 0
push 0x542adc
mov ecx, esi
mov byte [ebp - 4], 0x5d
call fcn.00488490
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x28], esi
mov ecx, esi
push dword [ebp - 0x18]
call fcn.00402b60
push 0
push 0x5424b0
mov ecx, esi
mov byte [ebp - 4], 0x5f
call fcn.00402b80
xor eax, eax
mov byte [ebp - 4], 0x60
xor ecx, ecx
xor edx, edx
nop word [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x478], al
lea eax, [edx + 1]
mov dword [0x55d52c], eax
mov ecx, eax
mov edx, eax
cmp eax, 0x22
jb 0x423b10
lea eax, [ebp - 0x478]
mov byte [ebp - 0x456], 0
push eax
lea ecx, [ebp - 0x9a4]
call fcn.00402ab0
or ebx, 0x200000
lea ecx, [ebp - 0x9a4]
call fcn.00402b50
sub esp, 0x18
mov edi, eax
mov esi, esp
mov dword [ebp - 0x28], esi
mov ecx, esi
push dword [ebp - 0x18]
call fcn.00402b60
mov ecx, edi
mov byte [ebp - 4], 0x62
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x423b71
sub ecx, edx
push ecx
push edi
mov ecx, esi
call fcn.00402b80
mov byte [ebp - 4], 0x61
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x4d8]
push str.https:__www.maxmind.com_en_locate_my_ip_address
push eax
push 0xa
push 0xa
mov byte [ebp - 4], 0x63
call fcn.0049d590
lea ecx, [ebp - 0x9a4]
mov byte [ebp - 4], 0x5b
mov esi, eax
call fcn.00402a10
cmp esi, 0xc8
jne 0x42442b
sub esp, 0x28
lea edx, [ebp - 0x4d8]
mov eax, esp
lea ecx, [ebp - 0x168]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x64
mov al, byte [ebp - 0x168]
cmp al, 1
jne 0x424420
test al, al
je 0x424420
movaps xmm0, xmmword [0x548090]
xor eax, eax
xor ecx, ecx
mov byte [ebp - 0x2c9], 0xe4
movups xmmword [ebp - 0x2c8], xmm0
xor edx, edx
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0x2c9], al
lea eax, [edx + 1]
mov dword [0x55d560], eax
mov ecx, eax
mov edx, eax
cmp eax, 7
jb 0x423c20
lea eax, [ebp - 0x2c9]
mov byte [ebp - 0x2c2], 0
push eax
lea ecx, [ebp - 0x9d4]
call fcn.00402ab0
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x9d4]
or ebx, 0x10
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
lea ecx, [ebp - 0x168]
call fcn.00486ff0
cmp byte [eax], 0
je 0x423d00
movaps xmm0, xmmword [0x548090]
xor eax, eax
xor ecx, ecx
mov byte [ebp - 0x2da], 0xe4
movups xmmword [ebp - 0x2d9], xmm0
xor edx, edx
nop dword [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x2da], al
lea eax, [edx + 1]
mov dword [0x55d560], eax
mov ecx, eax
mov edx, eax
cmp eax, 7
jb 0x423ca0
lea eax, [ebp - 0x2da]
mov byte [ebp - 0x2d3], 0
push eax
lea ecx, [ebp - 0x9bc]
call fcn.00402ab0
mov dword [ebp - 4], 0x66
lea ecx, [ebp - 0x9bc]
or ebx, 0x20
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
lea ecx, [ebp - 0x168]
call fcn.00486ff0
mov byte [ebp - 0x11], 1
cmp byte [eax], 1
je 0x423d04
mov byte [ebp - 0x11], 0
test bl, 0x20
je 0x423d17
lea ecx, [ebp - 0x9bc]
and ebx, 0xffffffdf
call fcn.00402a10
mov dword [ebp - 4], 0x64
test bl, 0x10
je 0x423d31
lea ecx, [ebp - 0x9d4]
and ebx, 0xffffffef
call fcn.00402a10
cmp byte [ebp - 0x11], 0
je 0x424420
movaps xmm0, xmmword [0x548090]
xor eax, eax
xor ecx, ecx
mov byte [ebp - 0x2fc], 0xe4
movups xmmword [ebp - 0x2fb], xmm0
xor edx, edx
nop word [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x2fc], al
lea eax, [edx + 1]
mov dword [0x55d560], eax
mov ecx, eax
mov edx, eax
cmp eax, 7
jb 0x423d60
lea eax, [ebp - 0x2fc]
mov byte [ebp - 0x2f5], 0
push eax
lea ecx, [ebp - 0xa7c]
call fcn.00402ab0
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0xa7c]
or ebx, 0x40
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
lea ecx, [ebp - 0x168]
call fcn.00486ff0
movaps xmm0, xmmword [0x547cb0]
mov esi, eax
xor eax, eax
mov word [ebp - 0x2a6], 0xfbee
xor ecx, ecx
xor edx, edx
movups xmmword [ebp - 0x2a4], xmm0
sub al, 0x79
xor byte [ebp + ecx - 0x2a6], al
lea eax, [edx + 1]
mov dword [0x55d624], eax
mov ecx, eax
mov edx, eax
cmp eax, 8
jb 0x423dd3
lea eax, [ebp - 0x2a6]
mov byte [ebp - 0x29e], 0
push eax
lea ecx, [ebp - 0xa64]
call fcn.00402ab0
mov dword [ebp - 4], 0x68
lea ecx, [ebp - 0xa64]
or ebx, 0x80
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
cmp byte [eax], 3
jne 0x4240b7
movaps xmm0, xmmword [0x548090]
xor eax, eax
xor ecx, ecx
mov byte [ebp - 0x30d], 0xe4
movups xmmword [ebp - 0x30c], xmm0
xor edx, edx
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0x30d], al
lea eax, [edx + 1]
mov dword [0x55d560], eax
mov ecx, eax
mov edx, eax
cmp eax, 7
jb 0x423e50
lea eax, [ebp - 0x30d]
mov byte [ebp - 0x306], 0
push eax
lea ecx, [ebp - 0xa4c]
call fcn.00402ab0
mov dword [ebp - 4], 0x69
lea ecx, [ebp - 0xa4c]
or ebx, 0x100
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
lea ecx, [ebp - 0x168]
call fcn.00486ff0
movaps xmm0, xmmword [0x547cb0]
mov esi, eax
xor eax, eax
mov word [ebp - 0x2b8], 0xfbee
xor ecx, ecx
xor edx, edx
movups xmmword [ebp - 0x2b6], xmm0
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0x2b8], al
lea eax, [edx + 1]
mov dword [0x55d624], eax
mov ecx, eax
mov edx, eax
cmp eax, 8
jb 0x423ed0
lea eax, [ebp - 0x2b8]
mov byte [ebp - 0x2b0], 0
push eax
lea ecx, [ebp - 0xa34]
call fcn.00402ab0
mov dword [ebp - 4], 0x6a
lea ecx, [ebp - 0xa34]
or ebx, 0x200
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov ecx, eax
call fcn.00480880
test al, al
jne 0x4240b7
xorps xmm0, xmm0
mov dword [ebp - 0xde], 0xf3fde1e4
xor eax, eax
movq qword [ebp - 0xda], xmm0
xor ecx, ecx
mov word [ebp - 0xd2], 0
xor edx, edx
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0xde], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x423f60
lea eax, [ebp - 0xde]
mov byte [ebp - 0xda], 0
push eax
lea ecx, [ebp - 0xb84]
call fcn.00402ab0
mov dword [ebp - 4], 0x6b
lea ecx, [ebp - 0xb84]
or ebx, 0x400
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
lea ecx, [ebp - 0x168]
call fcn.00486ff0
mov esi, eax
mov dword [ebp - 0x43], 0xefe4e9e9
xorps xmm0, xmm0
mov byte [ebp - 0x3f], 0xf8
xor eax, eax
movq qword [ebp - 0x3e], xmm0
xor ecx, ecx
mov word [ebp - 0x36], 0
xor edx, edx
nop dword [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x43], al
lea eax, [edx + 1]
mov dword [0x55d544], eax
mov ecx, eax
mov edx, eax
cmp eax, 5
jb 0x423fe0
lea eax, [ebp - 0x43]
mov byte [ebp - 0x3e], 0
push eax
lea ecx, [ebp - 0xa04]
call fcn.00402ab0
mov dword [ebp - 4], 0x6c
lea ecx, [ebp - 0xa04]
or ebx, 0x800
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov esi, eax
mov word [ebp - 0xf8], 0xe6e2
xorps xmm0, xmm0
mov word [ebp - 0xee], 0
xor eax, eax
movq qword [ebp - 0xf6], xmm0
xor ecx, ecx
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0xf8], al
lea eax, [edx + 1]
mov dword [0x55d598], eax
mov ecx, eax
mov edx, eax
cmp eax, 2
jb 0x424052
lea eax, [ebp - 0xf8]
mov byte [ebp - 0xf6], 0
push eax
lea ecx, [ebp - 0x9ec]
call fcn.00402ab0
mov dword [ebp - 4], 0x6d
lea ecx, [ebp - 0x9ec]
or ebx, 0x1000
mov dword [ebp - 0x1c], ebx
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov ecx, eax
call fcn.00480880
mov byte [ebp - 0x11], 1
test al, al
jne 0x4240bb
mov byte [ebp - 0x11], 0
test ebx, 0x1000
je 0x4240d4
lea ecx, [ebp - 0x9ec]
and ebx, 0xffffefff
call fcn.00402a10
test ebx, 0x800
je 0x4240ed
lea ecx, [ebp - 0xa04]
and ebx, 0xfffff7ff
call fcn.00402a10
test ebx, 0x400
je 0x424106
lea ecx, [ebp - 0xb84]
and ebx, 0xfffffbff
call fcn.00402a10
test ebx, 0x200
je 0x42411f
lea ecx, [ebp - 0xa34]
and ebx, 0xfffffdff
call fcn.00402a10
test ebx, 0x100
je 0x424138
lea ecx, [ebp - 0xa4c]
and ebx, 0xfffffeff
call fcn.00402a10
test bl, bl
jns 0x42414d
lea ecx, [ebp - 0xa64]
and ebx, 0xffffff7f
call fcn.00402a10
mov dword [ebp - 4], 0x64
test bl, 0x40
je 0x424164
lea ecx, [ebp - 0xa7c]
call fcn.00402a10
cmp byte [ebp - 0x11], 0
je 0x424420
movaps xmm0, xmmword [0x548090]
xor eax, eax
xor ecx, ecx
mov byte [ebp - 0x31e], 0xe4
movups xmmword [ebp - 0x31d], xmm0
xor edx, edx
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0x31e], al
lea eax, [edx + 1]
mov dword [0x55d560], eax
mov ecx, eax
mov edx, eax
cmp eax, 7
jb 0x424190
lea eax, [ebp - 0x31e]
mov byte [ebp - 0x317], 0
push eax
lea ecx, [ebp - 0xaac]
call fcn.00402ab0
lea ecx, [ebp - 0xaac]
mov byte [ebp - 4], 0x6e
call fcn.00402b50
push eax
lea ecx, [ebp - 0x168]
call fcn.00486ff0
movaps xmm0, xmmword [0x547cb0]
mov esi, eax
xor eax, eax
mov word [ebp - 0x23a], 0xfbee
xor ecx, ecx
xor edx, edx
movups xmmword [ebp - 0x238], xmm0
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0x23a], al
lea eax, [edx + 1]
mov dword [0x55d624], eax
mov ecx, eax
mov edx, eax
cmp eax, 8
jb 0x424200
lea eax, [ebp - 0x23a]
mov byte [ebp - 0x232], 0
push eax
lea ecx, [ebp - 0xa94]
call fcn.00402ab0
lea ecx, [ebp - 0xa94]
mov byte [ebp - 4], 0x6f
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0xd64]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00482e90
lea ecx, [ebp - 0xd64]
call fcn.00402a10
lea ecx, [ebp - 0xa94]
call fcn.00402a10
lea ecx, [ebp - 0xaac]
mov byte [ebp - 4], 0x64
call fcn.00402a10
xorps xmm0, xmm0
mov dword [ebp - 0xec], 0xf3fde1e4
xor eax, eax
movq qword [ebp - 0xe8], xmm0
xor ecx, ecx
mov word [ebp - 0xe0], 0
xor edx, edx
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0xec], al
lea eax, [edx + 1]
mov dword [0x55d5d8], eax
mov ecx, eax
mov edx, eax
cmp eax, 4
jb 0x4242b0
lea eax, [ebp - 0xec]
mov byte [ebp - 0xe8], 0
push eax
lea ecx, [ebp - 0xaf4]
call fcn.00402ab0
lea ecx, [ebp - 0xaf4]
mov byte [ebp - 4], 0x70
call fcn.00402b50
push eax
lea ecx, [ebp - 0x168]
call fcn.00486ff0
mov esi, eax
mov dword [ebp - 0x52], 0xefe4e9e9
xorps xmm0, xmm0
mov byte [ebp - 0x4e], 0xf8
xor eax, eax
movq qword [ebp - 0x4d], xmm0
xor ecx, ecx
mov word [ebp - 0x45], 0
xor edx, edx
nop
sub al, 0x79
xor byte [ebp + ecx - 0x52], al
lea eax, [edx + 1]
mov dword [0x55d544], eax
mov ecx, eax
mov edx, eax
cmp eax, 5
jb 0x424320
lea eax, [ebp - 0x52]
mov byte [ebp - 0x4d], 0
push eax
lea ecx, [ebp - 0xadc]
call fcn.00402ab0
lea ecx, [ebp - 0xadc]
mov byte [ebp - 4], 0x71
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov esi, eax
mov word [ebp - 0x110], 0xe6e2
xorps xmm0, xmm0
mov word [ebp - 0x106], 0
xor eax, eax
movq qword [ebp - 0x10e], xmm0
xor ecx, ecx
xor edx, edx
nop word [eax + eax]
sub al, 0x79
xor byte [ebp + ecx - 0x110], al
lea eax, [edx + 1]
mov dword [0x55d598], eax
mov ecx, eax
mov edx, eax
cmp eax, 2
jb 0x424390
lea eax, [ebp - 0x110]
mov byte [ebp - 0x10e], 0
push eax
lea ecx, [ebp - 0xac4]
call fcn.00402ab0
lea ecx, [ebp - 0xac4]
mov byte [ebp - 4], 0x72
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0xcd4]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [ebp - 0x214]
call fcn.00482e90
lea ecx, [ebp - 0xcd4]
call fcn.00402a10
lea ecx, [ebp - 0xac4]
call fcn.00402a10
lea ecx, [ebp - 0xadc]
call fcn.00402a10
lea ecx, [ebp - 0xaf4]
call fcn.00402a10
lea ecx, [ebp - 0x168]
call fcn.00480b00
lea ecx, [ebp - 0x4d8]
call fcn.00402a10
mov dword [ebp - 4], 5
cmp dword [ebp - 0x188], 0
je 0x424868
lea eax, [ebp - 0x198]
mov ecx, 0x55aae4
push eax
call fcn.00482e60
jmp 0x4248f4
movaps xmm0, xmmword [0x546ed0]
xor eax, eax
xor ecx, ecx
mov byte [ebp - 0x32f], 0xb6
movups xmmword [ebp - 0x32e], xmm0
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0x32f], al
lea eax, [edx + 1]
mov ecx, eax
mov edx, eax
cmp eax, 7
jb 0x424883
mov dword [0x55d560], eax
lea ecx, [ebp - 0xb3c]
lea eax, [ebp - 0x32f]
mov byte [ebp - 0x328], 0
push eax
call fcn.00402ab0
lea ecx, [ebp - 0xb3c]
mov byte [ebp - 4], 0x76
call fcn.00402b50
mov edx, eax
lea esi, [edx + 1]
nop word [eax + eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x4248d0
sub edx, esi
mov ecx, 0x55aae4
push edx
push eax
call fcn.00482bf0
lea ecx, [ebp - 0xb3c]
mov byte [ebp - 4], 5
call fcn.00402a10
cmp dword [ebp - 0x1a0], 0
jne 0x424995
xorps xmm0, xmm0
mov word [ebp - 0x104], 0xd2dd
xor eax, eax
movq qword [ebp - 0x102], xmm0
xor ecx, ecx
mov word [ebp - 0xfa], 0
xor edx, edx
sub al, 0x79
xor byte [ebp + ecx - 0x104], al
lea eax, [edx + 1]
mov ecx, eax
mov edx, eax
cmp eax, 2
jb 0x424924
mov dword [0x55d598], eax
lea ecx, [ebp - 0xb54]
lea eax, [ebp - 0x104]
mov byte [ebp - 0x102], 0
push eax
call fcn.00402ab0
lea ecx, [ebp - 0xb54]
mov byte [ebp - 4], 0x77
call fcn.00402b50
mov edx, eax
lea esi, [edx + 1]
nop dword [eax + eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x424970
sub edx, esi
lea ecx, [ebp - 0x1b0]
push edx
push eax
call fcn.00482bf0
lea ecx, [ebp - 0xb54]
mov byte [ebp - 4], 5
call fcn.00402a10
cmp dword [ebp - 0x204], 0
jne 0x424a2c
movaps xmm0, xmmword [0x547810]
xor eax, eax
xor ecx, ecx
mov byte [ebp - 0x340], 0xd2
movups xmmword [ebp - 0x33f], xmm0
xor edx, edx
nop dword [eax]
sub al, 0x79
xor byte [ebp + ecx - 0x340], al
lea eax, [edx + 1]
mov ecx, eax
mov edx, eax
cmp eax, 7
jb 0x4249c0
mov dword [0x55d560], eax
lea ecx, [ebp - 0xb6c]
lea eax, [ebp - 0x340]
mov byte [ebp - 0x339], 0
push eax
call fcn.00402ab0
lea ecx, [ebp - 0xb6c]
mov byte [ebp - 4], 0x78
call fcn.00402b50
mov edx, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x424a07
sub edx, esi
lea ecx, [ebp - 0x214]
push edx
push eax
call fcn.00482bf0
lea ecx, [ebp - 0xb6c]
mov byte [ebp - 4], 5
call fcn.00402a10
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x1b0]
push eax
mov ecx, esi
call fcn.00483010
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [esi + 0x18]
call fcn.00483010
lea ecx, [ebp - 0x214]
call fcn.00402a10
lea ecx, [ebp - 0x198]
call fcn.00402a10
lea ecx, [ebp - 0x1b0]
call fcn.00402a10
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret