Function at 0x419700
Capabilities:
Check http status code
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2a0
lea edi, [esp + 0xd0]
mov esi, ecx
mov edx, 0x8a98ea
mov ecx, edi
push 0x16
call fcn.004c7830
add esp, 4
lea ebx, [esp + 0x1d8]
mov edx, edi
mov ecx, ebx
call fcn.004ae1d0
cmp dword [esp + 0x1d8], 3
mov dword [esp + 0x74], esi
jne 0x419852
movzx eax, word [esp + 0x298]
lea ecx, [esp + 0x1dc]
cmp eax, 0xc8
jne 0x4199f5
call fcn.004c6330
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edx
lea ecx, [esp + 0x80]
lea edx, [esp + 0xd0]
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov byte [esp + 0xf0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 1
mov dword [esp + 0xd8], 0
mov byte [esp + 0xf4], 0x80
call fcn.00402a00
cmp byte [esp + 0x80], 6
jne 0x419bd8
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0xe0]
mov esi, dword [esp + 0xdc]
mov eax, dword [edi]
test eax, eax
je 0x41980c
push esi
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x41982a
cmp dword [edi + 8], 9
jb 0x41981b
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0xd0], 0
je 0x419d23
push dword [esp + 0xd4]
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x419d23
push 0xc4
push ebx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, str.0r1_v0_t
mov dword [esp + 0x80], eax
lea eax, [esp + 0x80]
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x80], 0x246a1873
mov edx, dword [esp + 0x80]
call fcn.0040aee0
mov ecx, 0xf992aea7
mov esi, 0xc8eb2784
mov edx, 0x2f65c0a9
xor ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov ecx, 0x24850804
xor ecx, dword [eax + 4]
mov dword [esp], ecx
mov ecx, 0x353c9206
xor ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov ecx, 0x48fc36b8
xor ecx, dword [eax + 0xc]
mov dword [esp + 0x10], ecx
mov ecx, 0xb41640d
xor ecx, dword [eax + 0x10]
mov dword [esp + 0x60], ecx
mov ecx, 0xdfda2a4d
xor ecx, dword [eax + 0x14]
mov dword [esp + 4], ecx
mov ecx, 0x7965c931
xor esi, dword [eax + 0x18]
xor edx, dword [eax + 0x1c]
xor ecx, dword [eax + 0x20]
movzx ebx, byte [eax + 0x26]
movzx eax, word [eax + 0x24]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x40], 0x8a99a0
mov dword [esp + 0x44], 3
mov dword [esp + 0x50], 0
mov dword [esp + 0x80], edi
mov edi, dword [esp]
xor al, 0x10
xor ah, 0xab
xor bl, 0x32
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x90], edi
mov edi, dword [esp + 4]
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 8]
lea esi, [esp + 0xd0]
mov byte [esp + 0xa4], al
mov byte [esp + 0xa5], ah
mov byte [esp + 0xa6], bl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], 0x4055f0
mov dword [esp + 0x1a8], esi
mov dword [esp + 0xc], 0x27
mov dword [esp + 0x1ac], 0x407430
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x4c], 2
call fcn.00493010
mov ecx, esi
call fcn.00406560
jmp 0x419eb8
mov dword [esp + 0x30], eax
lea eax, [0x8a92e5]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xd0]
lea eax, [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xd0], 0xd76ac59b
mov edx, dword [esp + 0xd0]
call fcn.0040b310
mov ecx, 0x373064fb
mov esi, 0xf879487f
mov edx, 0xffaed844
xor ecx, dword [eax]
mov dword [esp], ecx
mov ecx, 0x4e4c3cac
xor ecx, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov ecx, 0xf2e2d040
xor ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov ecx, 0xb5ba0295
xor ecx, dword [eax + 0xc]
mov dword [esp + 0x60], ecx
mov ecx, 0x48f3d441
xor ecx, dword [eax + 0x10]
mov dword [esp + 4], ecx
mov ecx, 0x7d0642fc
xor ecx, dword [eax + 0x14]
mov dword [esp + 0x1c0], ecx
mov ecx, 0x1e6a9250
xor ecx, dword [eax + 0x18]
mov dword [esp + 0x5c], ecx
mov ecx, 0xc8363c40
xor ecx, dword [eax + 0x1c]
mov dword [esp + 0x58], ecx
mov ecx, 0xb06f08f7
xor esi, dword [eax + 0x20]
xor edx, dword [eax + 0x24]
xor ecx, dword [eax + 0x28]
movzx ebx, byte [eax + 0x2e]
movzx eax, word [eax + 0x2c]
mov edi, dword [esp]
mov dword [esp + 0x80], 0x8a99a0
mov dword [esp + 0x84], 3
mov dword [esp + 0x90], 0
mov dword [esp + 0xd0], edi
mov edi, dword [esp + 0x20]
xor al, 0xaf
xor ah, 0xc9
xor bl, 0x49
mov dword [esp + 0xd4], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0xd8], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0xdc], edi
mov edi, dword [esp + 4]
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0x1c0]
mov dword [esp + 0xe4], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x58]
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], ecx
mov byte [esp + 0xfc], al
mov byte [esp + 0xfd], ah
lea eax, [esp + 0xd0]
lea ecx, [esp + 0x1a0]
lea edx, [esp + 8]
mov byte [esp + 0xfe], bl
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x44], 0x4055f0
mov dword [esp + 0x48], edx
mov dword [esp + 0x1a4], 0x2f
mov dword [esp + 0x4c], 0x41fbf0
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x8c], 2
mov word [esp + 8], ax
call fcn.00493010
lea ecx, [esp + 0x1dc]
call fcn.00406b50
jmp 0x419eb8
movq xmm0, qword [esp + 0x90]
movq xmm2, qword [esp + 0x80]
movq xmm1, qword [esp + 0x88]
test byte [esp + 0xf0], 1
lea edi, [esp + 0xdc]
movq qword [esp + 0x50], xmm0
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x40], xmm2
je 0x419c20
movzx eax, byte [esp + 0xf1]
jmp 0x419c4b
lea ebx, [esp + 8]
mov edx, edi
mov ecx, ebx
call section..text
movzx eax, byte [esp + 8]
cmp eax, 4
jne 0x419c72
movzx eax, byte [esp + 9]
mov byte [esp + 0xf0], 1
mov byte [esp + 0xf1], al
movzx eax, al
add eax, 0xfffffff7
cmp eax, 0x17
ja 0x41a080
mov ecx, 0x800013
bt ecx, eax
jae 0x41a080
mov byte [esp + 0xf0], 0
jmp 0x419c20
cmp eax, 5
jne 0x41a2e7
movzx eax, byte [esp + 0x40]
movsd xmm0, qword [esp + 0x48]
mov edi, dword [esp + 0xe0]
mov esi, dword [esp + 0xdc]
mov byte [esp + 0x30], al
movzx eax, word [esp + 0x41]
movsd qword [esp + 0x1a0], xmm0
movsd xmm0, qword [esp + 0x50]
mov word [esp + 0x70], ax
movzx eax, byte [esp + 0x43]
movsd qword [esp + 0x1a8], xmm0
mov byte [esp + 0x72], al
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [edi]
test eax, eax
je 0x419cd6
push esi
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x419cf4
cmp dword [edi + 8], 9
jb 0x419ce5
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0xd0], 0
je 0x419d13
push dword [esp + 0xd4]
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [esp + 0x30]
cmp al, 6
jne 0x419f74
mov ebx, dword [esp]
lea eax, [0x89b366]
mov dword [esp + 0x78], ebx
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xd0]
lea eax, [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xd0], 0xfbe8afbb
mov edx, dword [esp + 0xd0]
call fcn.0040ae90
mov ecx, 0x17cc5fc8
mov esi, 0xb3a594da
mov edx, 0x26e45ce5
xor ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov ecx, 0x1a972b92
xor ecx, dword [eax + 4]
mov dword [esp], ecx
mov ecx, 0x3479860
xor ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov ecx, 0xf937e8e5
xor ecx, dword [eax + 0xc]
mov dword [esp + 0x10], ecx
mov ecx, 0x814214f0
xor ecx, dword [eax + 0x10]
mov dword [esp + 0x60], ecx
mov ecx, 0xb852d6de
xor ecx, dword [eax + 0x14]
mov dword [esp + 4], ecx
mov ecx, 0x26de179
xor esi, dword [eax + 0x18]
xor edx, dword [eax + 0x1c]
xor ecx, dword [eax + 0x20]
movzx ebx, byte [eax + 0x26]
movzx eax, word [eax + 0x24]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x80], 0x8a99a0
mov dword [esp + 0x84], 3
mov dword [esp + 0x90], 0
mov dword [esp + 0xd0], edi
mov edi, dword [esp]
xor al, 0x58
xor ah, 0x55
xor bl, 0x11
mov dword [esp + 0xd4], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0xd8], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0xdc], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 4]
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], ecx
lea ecx, [esp + 8]
lea edx, [esp + 0xd0]
mov byte [esp + 0xf4], al
mov byte [esp + 0xf5], ah
mov byte [esp + 0xf6], bl
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 8], edx
lea edx, [esp + 0x78]
mov dword [esp + 0x44], 0x4055f0
mov dword [esp + 0xc], 0x27
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], 0x48b290
mov dword [esp + 0x8c], 2
call fcn.00493010
mov ecx, dword [esp + 0x78]
call fcn.00406a10
lea eax, [0x8a7824]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xd0]
lea eax, [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xd0], 0x2af4a3b9
mov edx, dword [esp + 0xd0]
call fcn.0040b440
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov edx, 0x14
mov dword [esp], ecx
xor ecx, ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x30], eax
movzx eax, byte [0x90320d]
call fcn.0049d570
test eax, eax
je 0x41ab38
xor edi, 0xca83cf5b
xor esi, 0xde762b0f
mov ecx, dword [esp]
mov edx, dword [esp + 0x74]
xor ebx, 0x79ef1604
mov dword [eax], edi
mov dword [eax + 4], esi
mov esi, dword [esp + 0x30]
mov dword [eax + 8], ebx
xor ecx, 0xfed4a9f3
xor esi, 0x16b57cc6
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], esi
mov byte [edx], 0
mov dword [edx + 4], 0x14
mov dword [edx + 8], eax
mov dword [edx + 0xc], 0x14
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx ecx, byte [esp + 0x72]
mov byte [esp + 0x40], al
movzx esi, word [esp + 0x70]
mov edx, eax
movq xmm0, qword [esp + 0x1a0]
movq xmm1, qword [esp + 0x1a8]
cmp dl, 5
setne dl
mov byte [esp + 0x43], cl
mov ecx, dword [esp]
mov word [esp + 0x41], si
test ecx, ecx
mov dword [esp + 0x44], ecx
movq qword [esp + 0x48], xmm0
movq qword [esp + 0x50], xmm1
sete cl
or cl, dl
jne 0x41a19e
mov eax, dword [esp + 0x48]
mov ecx, dword [esp]
mov dword [esp + 0x20], eax
lea eax, [ecx + 0x10c]
mov dword [esp], ecx
movzx ecx, word [ecx + 0x192]
mov esi, 0xffffffff
mov dword [esp + 0x10], ecx
lea ecx, [ecx*4]
lea edi, [ecx + ecx*2]
nop word cs:[eax + eax]
nop dword [eax]
test edi, edi
je 0x41a05c
lea ecx, [eax + 0xc]
mov edx, 0xc
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 8]
mov ebx, ecx
sub ebx, 0xc
cmovae ecx, edx
neg ebx
push ecx
push dword [eax + 4]
push 0x8a9900
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
cmovne ebx, eax
xor ecx, ecx
mov eax, 0xff
test ebx, ebx
lea ebx, [esp + 8]
setne cl
cmovs ecx, eax
mov eax, dword [esp + 0x30]
inc esi
add edi, 0xfffffff4
cmp cl, 1
je 0x41a000
movzx eax, cl
test eax, eax
je 0x41a0cb
jmp 0x41a060
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
sub eax, 1
jb 0x41a19e
mov ecx, dword [esp]
mov dword [esp + 0x20], eax
mov ecx, dword [ecx + esi*4 + 0x198]
jmp 0x419fd0
movq xmm0, qword [esp + 0xe4]
xor ecx, ecx
mov edx, 0x14
movdqa xmmword [esp + 0x30], xmm0
movzx eax, byte [0x90320d]
call fcn.0049d570
test eax, eax
je 0x41ab38
movdqa xmm0, xmmword [esp + 0x30]
mov dword [eax], 0x16
mov ebx, eax
movq qword [eax + 0xc], xmm0
lea ecx, [esp + 0x40]
call fcn.00406a90
jmp 0x4197f2
mov ecx, dword [esp]
lea eax, [esi + esi*2]
cmp byte [ecx + eax*8], 3
jne 0x41a19e
mov ecx, dword [esp]
lea edx, [esp + 0x40]
lea eax, [ecx + eax*8]
mov ecx, 0x8a990c
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
call fcn.0048b6b0
test eax, eax
je 0x41a102
cmp byte [eax], 3
je 0x41a310
lea eax, [0x8a3fda]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xd0]
lea eax, [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xd0], 0xfef127f
mov edx, dword [esp + 0xd0]
call fcn.0040b120
pxor xmm0, xmm0
mov ecx, 0xfffffffc
mov dword [esp + 0x110], 0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
nop word cs:[eax + eax]
nop dword [eax]
mov edx, dword [ecx + 0x8a991c]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0xd4], edx
add ecx, 4
cmp ecx, 0x40
jb 0x41a180
jmp 0x41a229
lea eax, [0x89ef22]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xd0]
lea eax, [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xd0], 0x62019860
mov edx, dword [esp + 0xd0]
call fcn.0040b410
pxor xmm0, xmm0
mov ecx, 0xfffffffc
mov dword [esp + 0x110], 0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
nop
mov edx, dword [ecx + 0x8a9960]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0xd4], edx
add ecx, 4
cmp ecx, 0x40
jb 0x41a210
movaps xmm1, xmmword [esp + 0xf0]
mov eax, dword [esp + 0x110]
movaps xmm2, xmmword [esp + 0xd0]
movaps xmm0, xmmword [esp + 0x100]
lea ecx, [esp + 0xd0]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0x4055f0
mov dword [esp + 0xd0], 0x8a9654
movaps xmmword [esp + 0xa0], xmm1
movaps xmm1, xmmword [esp + 0xe0]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x80]
mov dword [esp + 0xd4], 2
movaps xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0x80], xmm2
mov dword [esp + 0xe0], 0
mov dword [esp + 8], eax
lea eax, [esp + 0x78]
mov dword [esp + 0xc], 0x44
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], 1
movaps xmmword [esp + 0x90], xmm1
call fcn.00493010
lea ecx, [esp + 0x40]
call fcn.00406a90
jmp 0x419eb8
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x80], eax
call fcn.004f1170
mov ebx, eax
jmp 0x41a0bd
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x1d0], ecx
mov ecx, dword fs:[0x2c]
mov eax, dword [0x903210]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x1bc], edi
mov dword [esp + 0x1b4], edx
mov dword [esp + 0x1b8], esi
test byte [eax + 0x50], 1
je 0x41a363
mov eax, dword [0x903210]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
movdqu xmm0, xmmword [eax + 0x58]
jmp 0x41a3b9
pxor xmm0, xmm0
movdqa xmmword [esp + 0xd0], xmm0
push 0x10
lea eax, [esp + 0xd4]
push eax
call dword [sym.imp.bcryptprimitives.dll_ProcessPrng]
mov eax, dword [0x903210]
mov ecx, dword fs:[0x2c]
movdqa xmm0, xmmword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
pshufd xmm1, xmm0, 0xee
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 1
movq qword [eax + 0x60], xmm1
mov edx, dword [0x903210]
mov esi, dword fs:[0x2c]
movsd xmm2, qword [0x8eb820]
movd ecx, xmm0
pshufd xmm1, xmm0, 0x55
pshufd xmm3, xmm0, 0xff
movd eax, xmm1
add ecx, 1
adc eax, 0
mov edx, dword [esi + edx*4]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [0x8eb828]
mov dword [esp + 0xd0], str.RUBYKZKGMDTJUZAZTMhttps:__ipapi.co_json_country_codecountry_name
mov dword [esp + 0xd4], 2
mov dword [esp + 0xd8], 0x8a98da
mov dword [esp + 0xdc], 2
mov dword [esp + 0xe0], 0x8a98dc
mov dword [esp + 0xe4], 2
mov dword [esp + 0xe8], str.AMPMullruealse
mov dword [esp + 0xec], 2
mov dword [esp + 0xf0], 0x8a98de
mov dword [esp + 0xf4], 2
mov dword [esp + 0xf8], 0x8a98e0
mov dword [esp + 0xfc], 2
mov dword [esp + 0x100], 0x8a98e2
mov dword [esp + 0x104], 2
mov dword [esp + 0x108], 0x8a98e4
mov dword [esp + 0x10c], 2
mov dword [esp + 0x110], 0x8a98e6
mov dword [esp + 0x114], 2
mov dword [esp + 0x118], 0x8a98e8
mov dword [esp + 0x11c], 2
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0xa
movsd qword [esp + 0x88], xmm2
mov dword [edx + 0x58], ecx
mov dword [edx + 0x5c], eax
movdqu xmmword [esp + 0x90], xmm0
pshufd xmm2, xmm0, 0xee
sub esp, 0x10
lea ecx, [esp + 0x90]
mov edx, 0xa
movd dword [esp + 0xc], xmm3
movd dword [esp + 8], xmm2
movd dword [esp + 4], xmm1
movd dword [esp], xmm0
call fcn.004eeb40
add esp, 0x10
xor eax, eax
jmp 0x41a588
and al, 1
mov ebx, dword [esp + 0x20]
movzx eax, al
sub dword [esp + 0x88], eax
lea eax, [esi - 0x10]
and eax, ecx
mov ecx, dword [esp + 0x1d4]
mov byte [edx + esi], cl
mov byte [edx + eax + 0x10], cl
inc dword [esp + 0x8c]
shl esi, 3
mov eax, edx
sub eax, esi
neg esi
mov dword [edx + esi - 8], ebx
mov dword [eax - 4], edi
mov eax, dword [esp + 0x5c]
cmp eax, 0xa
je 0x41a745
mov ebx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + eax*8 + 0xd0]
mov edi, dword [esp + eax*8 + 0xd4]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp], ecx
mov dword [esp + 0x10], edx
push edi
mov dword [esp + 0x24], esi
push esi
push dword [esp + 0x38]
mov dword [esp + 0x6c], ebx
push ebx
mov esi, eax
call fcn.00406e30
add esp, 0x10
cmp dword [esp + 0x88], 0
mov ebx, eax
je 0x41a71c
mov eax, ebx
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
inc esi
mov dword [esp + 0x10], 0
shr eax, 0x19
mov dword [esp + 0x5c], esi
xor esi, esi
movd xmm0, eax
mov dword [esp + 0x1d4], eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov dword [esp + 0x30], edx
mov dword [esp], ecx
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x1c0], xmm0
and ebx, ecx
mov dword [esp + 4], esi
movdqu xmm0, xmmword [edx + ebx]
movdqa xmmword [esp + 0x60], xmm0
pcmpeqb xmm0, xmmword [esp + 0x1c0]
pmovmskb esi, xmm0
test esi, esi
jne 0x41a6c1
cmp dword [esp + 0x10], 1
mov dword [esp + 0x10], 1
je 0x41a683
movdqa xmm0, xmmword [esp + 0x60]
xor eax, eax
pmovmskb esi, xmm0
test esi, esi
setne al
tzcnt esi, esi
add esi, ebx
mov dword [esp + 0x10], eax
and esi, ecx
mov dword [esp + 0x58], esi
movdqa xmm1, xmmword [esp + 0x60]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
mov eax, dword [esp + 4]
jne 0x41a6f7
lea ebx, [ebx + eax + 0x10]
add eax, 0x10
mov esi, eax
jmp 0x41a631
mov edx, dword [esp + 0x30]
mov ecx, dword [esp]
lea eax, [esi - 1]
and ax, si
mov esi, eax
je 0x41a653
tzcnt eax, esi
add eax, ebx
and eax, ecx
lea ecx, [eax*8]
sub edx, ecx
cmp dword [edx - 4], edi
jne 0x41a6b0
neg eax
push edi
mov ecx, dword [esp + 0x34]
push dword [ecx + eax*8 - 8]
push dword [esp + 0x28]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x41a6b0
jmp 0x41a57b
mov esi, dword [esp + 0x58]
movzx eax, byte [edx + esi]
test al, al
js 0x41a541
movdqa xmm0, xmmword [edx]
pmovmskb eax, xmm0
tzcnt esi, eax
movzx eax, byte [edx + esi]
jmp 0x41a541
lea ecx, [esp + 0x80]
mov edx, 1
push dword [esp + 0x30]
push dword [esp + 0x64]
push dword [esp + 0x18]
push dword [esp + 0xc]
call fcn.004eeb40
add esp, 0x10
jmp 0x41a5e6
cmp dword [esp + 0x8c], 0
mov dword [esp + 0x1c0], 0
je 0x41aae2
movdqu xmm0, xmmword [esp + 0x90]
mov edx, dword [esp + 0x1b8]
lea ebx, [esp + 0xd0]
mov ecx, ebx
pshufd xmm1, xmm0, 0x44
pshufd xmm2, xmm0, 0xee
pxor xmm1, xmmword [str.uespemosarenegylmodnarodsetybdet]
pxor xmm2, xmmword [0x4f3320]
movdqu xmmword [esp + 0xd0], xmm1
movdqu xmmword [esp + 0xe0], xmm2
movdqu xmmword [esp + 0xf0], xmm0
pxor xmm0, xmm0
movq qword [esp + 0x100], xmm0
movq qword [esp + 0x108], xmm0
push dword [esp + 0x1bc]
call fcn.0040b900
add esp, 4
lea edx, [esp + 0x80]
mov ecx, ebx
mov byte [esp + 0x80], 0xff
push 1
call fcn.0040b900
add esp, 4
mov edx, dword [esp + 0x108]
mov edi, dword [esp + 0xec]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xe0]
mov esi, dword [esp + 0xe4]
mov ebx, dword [esp + 0xd8]
shl edx, 0x18
mov dword [esp + 0x5c], eax
or edx, dword [esp + 0x104]
mov dword [esp + 0x58], edx
xor edi, edx
mov edx, dword [esp + 0xe8]
xor edx, eax
mov eax, dword [esp + 0xd0]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xd4]
adc eax, esi
add ebx, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xdc]
adc eax, edi
mov dword [esp + 4], eax
mov eax, ecx
shld eax, esi, 0xd
shld esi, ecx, 0xd
mov ecx, edx
shrd edx, edi, 0x10
shld ecx, edi, 0x10
mov edi, dword [esp + 0x10]
xor eax, dword [esp + 0x20]
xor edx, dword [esp + 4]
xor ecx, ebx
xor esi, edi
add ebx, eax
adc dword [esp + 4], esi
add edi, ecx
mov dword [esp + 0x60], ebx
mov ebx, ecx
adc dword [esp + 0x20], edx
shld ebx, edx, 0x15
shrd ecx, edx, 0xb
mov dword [esp + 0x10], edi
mov edi, eax
shrd eax, esi, 0xf
mov edx, dword [esp + 0x20]
shld edi, esi, 0x11
mov esi, dword [esp + 0x10]
xor edi, dword [esp + 0x60]
xor ecx, edx
xor edx, dword [esp + 0x58]
xor ebx, esi
xor esi, dword [esp + 0x5c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 4]
xor eax, edx
xor edx, 0xff
add esi, edi
adc dword [esp + 0x20], eax
add edx, ebx
mov dword [esp + 0x10], esi
mov esi, ebx
mov dword [esp + 4], edx
mov edx, edi
adc dword [esp + 0x60], ecx
shrd edi, eax, 0x13
shld esi, ecx, 0x10
shrd ebx, ecx, 0x10
shld edx, eax, 0xd
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 4]
xor edi, dword [esp + 0x20]
xor edx, dword [esp + 0x10]
xor ebx, ecx
xor esi, eax
add eax, edx
adc ecx, edi
add dword [esp + 0x20], esi
mov dword [esp + 4], eax
mov eax, edx
mov dword [esp + 0x60], ecx
mov ecx, esi
adc dword [esp + 0x10], ebx
shld eax, edi, 0x11
shrd edx, edi, 0xf
shld ecx, ebx, 0x15
shrd esi, ebx, 0xb
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
xor eax, dword [esp + 4]
xor edx, dword [esp + 0x60]
xor ecx, ebx
xor esi, edi
add ebx, eax
adc edi, edx
mov dword [esp + 0x20], ebx
add dword [esp + 0x60], ecx
mov ebx, dword [esp + 4]
mov dword [esp + 0x10], edi
mov edi, eax
adc ebx, esi
shld edi, edx, 0xd
shrd eax, edx, 0x13
mov edx, ecx
shrd ecx, esi, 0x10
shld edx, esi, 0x10
xor edi, dword [esp + 0x20]
mov esi, ebx
xor ecx, ebx
mov ebx, dword [esp + 0x60]
xor eax, dword [esp + 0x10]
xor edx, ebx
add ebx, edi
adc esi, eax
add dword [esp + 0x10], edx
mov dword [esp + 0x60], ebx
mov ebx, esi
mov esi, edi
adc dword [esp + 0x20], ecx
shld esi, eax, 0x11
shrd edi, eax, 0xf
mov eax, edx
shrd edx, ecx, 0xb
shld eax, ecx, 0x15
mov ecx, dword [esp + 0x10]
xor esi, dword [esp + 0x60]
xor edi, ebx
xor edx, dword [esp + 0x20]
xor eax, ecx
add ecx, esi
adc dword [esp + 0x20], edi
add ebx, eax
mov dword [esp + 0x10], ecx
mov ecx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
adc ebx, edx
shld ecx, edi, 0xd
shrd esi, edi, 0x13
mov edi, dword [esp + 4]
shrd eax, edx, 0x10
shr edx, 0x10
xor ecx, dword [esp + 0x10]
xor esi, dword [esp + 0x20]
xor eax, ebx
xor edx, edi
add edi, ecx
adc ebx, esi
shrd esi, ecx, 0xf
mov ecx, dword [esp]
shld edx, eax, 0x15
xor esi, ebx
mov ebx, dword [esp + 0x1b4]
xor edx, esi
xor edx, edi
mov esi, ecx
and esi, edx
shr edx, 0x19
movd xmm0, edx
mov edx, dword [esp + 0x30]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x10], xmm0
movdqu xmm0, xmmword [edx + esi]
movdqa xmmword [esp + 0x20], xmm0
pcmpeqb xmm0, xmmword [esp + 0x10]
pmovmskb edi, xmm0
test edi, edi
jne 0x41aa8d
movdqa xmm1, xmmword [esp + 0x20]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x41ab70
mov eax, dword [esp + 0x1c0]
lea esi, [eax + esi + 0x10]
add eax, 0x10
mov dword [esp + 0x1c0], eax
and esi, ecx
jmp 0x41aa30
mov edx, dword [esp + 0x30]
mov ecx, dword [esp]
lea eax, [edi - 1]
and ax, di
mov edi, eax
je 0x41aa49
tzcnt eax, edi
add eax, esi
and eax, ecx
lea ecx, [eax*8]
sub edx, ecx
mov ecx, dword [esp + 0x1bc]
cmp dword [edx - 4], ecx
jne 0x41aa7c
neg eax
push ecx
mov ecx, dword [esp + 0x34]
push dword [ecx + eax*8 - 8]
push dword [esp + 0x1c0]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x41aa7c
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
mov al, 1
mov dword [esp + 0x1c0], eax
mov ecx, dword [esp]
test ecx, ecx
jne 0x41aaf8
jmp 0x41ab1c
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp]
test ecx, ecx
je 0x41ab1c
lea eax, [ecx*8 + 0x17]
and eax, 0xfffffff0
add ecx, eax
cmp ecx, 0xffffffef
je 0x41ab1c
sub edx, eax
push dword [edx - 4]
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
test ebx, ebx
js 0x41ab38
je 0x41ab3a
movzx eax, byte [0x90320d]
xor ecx, ecx
mov edx, ebx
call fcn.0049d570
mov edi, eax
test eax, eax
jne 0x41ab3f
ud2
mov edi, 1
push ebx
push dword [esp + 0x1d4]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x1c0]
lea ecx, [esp + 0x40]
mov byte [esi], al
mov dword [esi + 4], ebx
mov dword [esi + 8], edi
mov dword [esi + 0xc], ebx
call fcn.00406a90
jmp 0x419f6c
mov esi, dword [esp + 0x74]
mov dword [esp + 0x1c0], 0
mov ecx, dword [esp]
test ecx, ecx
jne 0x41aaf8
jmp 0x41ab1c