Function at 0x10007090
Capabilities:
Encode data using xor
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
jmp 0x100070ab
jmp 0x100070bd
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 9
mov dword [0x10354e14], eax
call fcn.100177d8
mov edi, eax
add esp, 4
mov esi, edi
mov dword [edi], 0xc4d3cee2
mov dword [edi + 4], 0xcdcdc58f
lea ecx, [esi + 1]
mov byte [edi + 8], 0
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x100070f0
sub esi, ecx
mov dword [ebp - 8], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 4], ebx
test esi, esi
je 0x100071b3
cmp esi, 0x40
jb 0x10007190
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x1000712e
cmp ecx, edi
jae 0x10007190
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007150
mov ebx, dword [ebp - 4]
cmp edx, esi
jae 0x100071b3
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x100071a0
mov ebx, dword [ebp - 4]
push ebx
mov byte [ebx + esi], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x10354f40], eax
test eax, eax
je 0x10008382
push 0xb
call fcn.100177d8
mov edi, eax
add esp, 4
mov esi, edi
mov dword [edi], 0xc8c6cfe4
mov dword [edi + 4], 0xc58fc4cf
lea ecx, [esi + 1]
mov word [edi + 8], 0xcdcd
mov byte [edi + 0xa], 0
mov al, byte [esi]
inc esi
test al, al
jne 0x100071f3
sub esi, ecx
mov dword [ebp - 0xc], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 4], ebx
test esi, esi
je 0x100072b3
cmp esi, 0x40
jb 0x10007290
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x10007231
cmp ecx, edi
jae 0x10007290
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007250
mov ebx, dword [ebp - 4]
cmp edx, esi
jae 0x100072b3
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x100072a0
mov ebx, dword [ebp - 4]
push ebx
mov byte [ebx + esi], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x10354de8], eax
test eax, eax
je 0x10008382
push 0xc
lea ecx, [ebp - 0x1c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.PSAPI.DLL_GetModuleInformation]
mov ecx, dword [0x10354de8]
mov eax, dword [ebp - 0x18]
mov dword [0x10354e04], ecx
dec ecx
add eax, ecx
push 8
mov dword [0x10354e1c], eax
call fcn.100177d8
mov edi, eax
add esp, 4
mov esi, edi
mov dword [edi], 0xcfcfcec2
mov dword [edi + 4], 0xd5c2c4
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10007314
sub esi, ecx
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 4], ebx
test esi, esi
je 0x100073c0
cmp esi, 0x40
jb 0x100073a2
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x1000734f
cmp ecx, edi
jae 0x100073a2
movaps xmm1, xmmword [0x10061b50]
mov eax, ebx
mov ecx, esi
mov ebx, edi
and ecx, 0xffffffc0
sub ebx, dword [ebp - 4]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007362
mov ebx, dword [ebp - 4]
cmp edx, esi
jae 0x100073c0
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x100073b0
mov eax, dword [ebp - 4]
push 0xb
mov byte [eax + esi], 0
call fcn.100177d8
mov edi, eax
add esp, 4
mov esi, edi
mov dword [edi], 0xfe93d2d6
mov dword [edi + 4], 0xc58f9392
lea ecx, [esi + 1]
mov word [edi + 8], 0xcdcd
mov byte [edi + 0xa], 0
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x100073f0
sub esi, ecx
mov dword [ebp - 0xc], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 8], ebx
test esi, esi
je 0x100074b3
cmp esi, 0x40
jb 0x10007490
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x1000742e
cmp ecx, edi
jae 0x10007490
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x10]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007450
mov ebx, dword [ebp - 8]
cmp edx, esi
jae 0x100074b3
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x100074a0
mov ebx, dword [ebp - 8]
push dword [ebp - 4]
mov byte [ebx + esi], 0
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008382
mov edx, 0x100038c0
mov ecx, eax
call fcn.10001950
push 9
mov dword [0x10355070], eax
call fcn.100177d8
mov edi, eax
add esp, 4
mov esi, edi
mov dword [edi], 0xc5c0c4f3
mov dword [edi + 4], 0xc4cdc8e7
lea ecx, [esi + 1]
mov byte [edi + 8], 0
mov al, byte [esi]
inc esi
test al, al
jne 0x10007503
sub esi, ecx
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 4], ebx
test esi, esi
je 0x100075b0
cmp esi, 0x40
jb 0x10007591
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x1000753e
cmp ecx, edi
jae 0x10007591
movaps xmm1, xmmword [0x10061b50]
mov eax, ebx
mov ecx, esi
mov ebx, edi
and ecx, 0xffffffc0
sub ebx, dword [ebp - 4]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007551
mov ebx, dword [ebp - 4]
cmp edx, esi
jae 0x100075b0
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x100075a0
mov eax, dword [ebp - 4]
push 0xd
mov byte [eax + esi], 0
call fcn.100177d8
mov edi, eax
mov esi, str.kernel32.dll
add esp, 4
mov edx, edi
sub esi, edi
mov eax, 0xc
mov cl, byte [esi + edx]
lea edx, [edx + 1]
xor cl, 0xa1
mov byte [edx - 1], cl
sub eax, 1
jne 0x100075d1
mov esi, edi
mov byte [edi + 0xc], al
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x100075f0
sub esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 8], ebx
test esi, esi
je 0x100076b3
cmp esi, 0x40
jb 0x10007690
lea eax, [edi - 1]
lea ecx, [esi - 1]
add eax, esi
add ecx, ebx
cmp ebx, eax
ja 0x1000762e
cmp ecx, edi
jae 0x10007690
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edx + edi + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edx + edi + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edx + edi + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007650
mov ebx, dword [ebp - 8]
cmp edx, esi
jae 0x100076b3
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x100076a0
mov ebx, dword [ebp - 8]
push dword [ebp - 4]
mov byte [ebx + esi], 0
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008382
mov edx, 0x10003c70
mov ecx, eax
call fcn.10001950
push 0xf
mov dword [0x10354f44], eax
call fcn.100177d8
mov edi, eax
mov esi, str.SetFilePointer
add esp, 4
mov edx, edi
sub esi, edi
mov eax, 0xe
nop dword [eax + eax]
mov cl, byte [esi + edx]
lea edx, [edx + 1]
xor cl, 0xa1
mov byte [edx - 1], cl
sub eax, 1
jne 0x10007700
mov esi, edi
mov byte [edi + 0xe], al
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10007720
sub esi, ecx
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 4], ebx
test esi, esi
je 0x100077d0
cmp esi, 0x40
jb 0x100077b0
lea eax, [esi - 1]
lea ecx, [esi - 1]
add eax, edi
add ecx, ebx
cmp ebx, eax
ja 0x1000775b
cmp ecx, edi
jae 0x100077b0
movaps xmm1, xmmword [0x10061b50]
mov eax, ebx
mov ecx, esi
mov ebx, edi
and ecx, 0xffffffc0
sub ebx, dword [ebp - 4]
nop
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edx + edi + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edx + edi + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edx + edi + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007770
mov ebx, dword [ebp - 4]
cmp edx, esi
jae 0x100077d0
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x100077c0
mov eax, dword [ebp - 4]
push 0xd
mov byte [eax + esi], 0
call fcn.100177d8
mov edi, eax
mov esi, str.kernel32.dll
add esp, 4
mov edx, edi
sub esi, edi
mov eax, 0xc
mov cl, byte [esi + edx]
lea edx, [edx + 1]
xor cl, 0xa1
mov byte [edx - 1], cl
sub eax, 1
jne 0x100077f1
mov esi, edi
mov byte [edi + 0xc], al
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10007810
sub esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 8], ebx
test esi, esi
je 0x100078d3
cmp esi, 0x40
jb 0x100078b0
lea eax, [edi - 1]
lea ecx, [esi - 1]
add eax, esi
add ecx, ebx
cmp ebx, eax
ja 0x1000784e
cmp ecx, edi
jae 0x100078b0
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edx + edi + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edx + edi + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edx + edi + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007870
mov ebx, dword [ebp - 8]
cmp edx, esi
jae 0x100078d3
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [edi + ecx]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x100078c0
mov ebx, dword [ebp - 8]
push dword [ebp - 4]
mov byte [ebx + esi], 0
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008382
mov edx, 0x10003b90
mov ecx, eax
call fcn.10001950
push 0xc
mov dword [0x10354f2c], eax
call fcn.100177d8
mov edi, eax
mov esi, str.GetFileSize
add esp, 4
mov edx, edi
sub esi, edi
mov eax, 0xb
nop dword [eax + eax]
mov cl, byte [esi + edx]
lea edx, [edx + 1]
xor cl, 0xa1
mov byte [edx - 1], cl
sub eax, 1
jne 0x10007920
mov esi, edi
mov byte [edi + 0xb], al
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10007940
sub esi, ecx
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 4], ebx
test esi, esi
je 0x100079f0
cmp esi, 0x40
jb 0x100079d0
lea eax, [esi - 1]
lea ecx, [esi - 1]
add eax, edi
add ecx, ebx
cmp ebx, eax
ja 0x1000797b
cmp ecx, edi
jae 0x100079d0
movaps xmm1, xmmword [0x10061b50]
mov eax, ebx
mov ecx, esi
mov ebx, edi
and ecx, 0xffffffc0
sub ebx, dword [ebp - 4]
nop
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edx + edi + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edx + edi + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edx + edi + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007990
mov ebx, dword [ebp - 4]
cmp edx, esi
jae 0x100079f0
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x100079e0
mov eax, dword [ebp - 4]
push 0xd
mov byte [eax + esi], 0
call fcn.100177d8
mov edi, eax
mov esi, str.kernel32.dll
add esp, 4
mov edx, edi
sub esi, edi
mov eax, 0xc
mov cl, byte [esi + edx]
lea edx, [edx + 1]
xor cl, 0xa1
mov byte [edx - 1], cl
sub eax, 1
jne 0x10007a11
mov esi, edi
mov byte [edi + 0xc], al
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10007a30
sub esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 8], ebx
test esi, esi
je 0x10007af3
cmp esi, 0x40
jb 0x10007ad0
lea eax, [edi - 1]
lea ecx, [esi - 1]
add eax, esi
add ecx, ebx
cmp ebx, eax
ja 0x10007a6e
cmp ecx, edi
jae 0x10007ad0
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edx + edi + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edx + edi + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edx + edi + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007a90
mov ebx, dword [ebp - 8]
cmp edx, esi
jae 0x10007af3
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x10007ae0
mov ebx, dword [ebp - 8]
push dword [ebp - 4]
mov byte [ebx + esi], 0
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008382
mov edx, 0x10003db0
mov ecx, eax
call fcn.10001950
push 0xc
mov dword [0x10354f34], eax
call fcn.100177d8
mov edi, eax
mov esi, 0x100616dc
add esp, 4
mov edx, edi
sub esi, edi
mov eax, 0xb
nop dword [eax + eax]
mov cl, byte [esi + edx]
lea edx, [edx + 1]
xor cl, 0xa1
mov byte [edx - 1], cl
sub eax, 1
jne 0x10007b40
mov esi, edi
mov byte [edi + 0xb], al
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10007b60
sub esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 8], ebx
test esi, esi
je 0x10007c23
cmp esi, 0x40
jb 0x10007c00
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x10007b9e
cmp ecx, edi
jae 0x10007c00
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007bc0
mov ebx, dword [ebp - 8]
cmp edx, esi
jae 0x10007c23
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [edi + ecx]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x10007c10
mov ebx, dword [ebp - 8]
push ebx
push str.kernel32.dll
mov byte [ebx + esi], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008382
mov edx, 0x10003f80
mov ecx, eax
call fcn.10001950
push 0x42
mov dword [0x10354e08], eax
call fcn.100177d8
mov edi, eax
add esp, 4
xor eax, eax
lea ecx, [edi + 0x40]
cmp edi, 0x10061728
ja 0x10007c74
cmp ecx, str._DispatchNetworkQueue_UNetworkHandler__UAEHPAPAUNetworkPacket___Z
jae 0x10007cbb
movaps xmm1, xmmword [0x10061b50]
mov eax, 0x40
movups xmm0, xmmword [str._DispatchNetworkQueue_UNetworkHandler__UAEHPAPAUNetworkPacket___Z]
pxor xmm0, xmm1
movups xmmword [edi], xmm0
movups xmm0, xmmword [0x100616f8]
pxor xmm0, xmm1
movups xmmword [edi + 0x10], xmm0
movups xmm0, xmmword [0x10061708]
pxor xmm0, xmm1
movups xmmword [edi + 0x20], xmm0
movups xmm0, xmmword [0x10061718]
pxor xmm0, xmm1
movups xmmword [edi + 0x30], xmm0
mov esi, str._DispatchNetworkQueue_UNetworkHandler__UAEHPAPAUNetworkPacket___Z
lea ecx, [eax + edi]
mov edx, 0x41
sub esi, edi
sub edx, eax
nop dword [eax]
mov al, byte [esi + ecx]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub edx, 1
jne 0x10007cd0
mov esi, edi
mov byte [edi + 0x41], dl
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10007ce8
sub esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 8], ebx
test esi, esi
je 0x10007da3
cmp esi, 0x40
jb 0x10007d81
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x10007d26
cmp ecx, edi
jae 0x10007d81
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007d41
mov ebx, dword [ebp - 8]
cmp edx, esi
jae 0x10007da3
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x10007d90
mov ebx, dword [ebp - 8]
push ebx
push dword [0x10354de8]
mov byte [ebx + esi], 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008382
mov edx, 0x100055e0
mov ecx, eax
call fcn.10001950
push 0x2f
mov dword [0x10354f24], eax
call fcn.100177d8
mov edi, eax
add esp, 4
xor ebx, ebx
lea eax, [edi + 0x2d]
cmp edi, 0x10061759
ja 0x10007ded
cmp eax, str._RequestAuthLogin_UNetworkHandler__UAEHPAG0H_Z
jae 0x10007e25
movaps xmm1, xmmword [0x10061b50]
mov ecx, 2
mov edx, str._RequestAuthLogin_UNetworkHandler__UAEHPAG0H_Z
mov eax, edi
sub edx, edi
lea ebx, [ecx + 0x1e]
nop word [eax + eax]
lea eax, [eax + 0x10]
movups xmm0, xmmword [edx + eax - 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
sub ecx, 1
jne 0x10007e10
mov esi, str._RequestAuthLogin_UNetworkHandler__UAEHPAG0H_Z
lea ecx, [ebx + edi]
mov edx, 0x2e
sub esi, edi
sub edx, ebx
mov al, byte [ecx + esi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub edx, 1
jne 0x10007e36
mov esi, edi
mov byte [edi + 0x2e], dl
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x10007e50
sub esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 8], ebx
test esi, esi
je 0x10007f13
cmp esi, 0x40
jb 0x10007ef0
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x10007e8e
cmp ecx, edi
jae 0x10007ef0
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10007eb0
mov ebx, dword [ebp - 8]
cmp edx, esi
jae 0x10007f13
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [edi + ecx]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x10007f00
mov ebx, dword [ebp - 8]
push ebx
push dword [0x10354de8]
mov byte [ebx + esi], 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008382
mov edx, 0x10005b30
mov ecx, eax
call fcn.10001950
push 0x3a
mov dword [0x10354e10], eax
call fcn.100177d8
mov edi, eax
add esp, 4
xor ebx, ebx
lea eax, [edi + 0x38]
cmp edi, 0x10061794
ja 0x10007f5d
cmp eax, str._RequestPCCafeCouponUse_UNetworkHandler__UAEXVFString___Z
jae 0x10007f95
movaps xmm1, xmmword [0x10061b50]
mov ecx, 3
mov edx, str._RequestPCCafeCouponUse_UNetworkHandler__UAEXVFString___Z
mov eax, edi
sub edx, edi
lea ebx, [ecx + 0x2d]
nop word [eax + eax]
lea eax, [eax + 0x10]
movups xmm0, xmmword [edx + eax - 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
sub ecx, 1
jne 0x10007f80
mov esi, str._RequestPCCafeCouponUse_UNetworkHandler__UAEXVFString___Z
lea ecx, [ebx + edi]
mov edx, 0x39
sub esi, edi
sub edx, ebx
mov al, byte [ecx + esi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub edx, 1
jne 0x10007fa6
mov esi, edi
mov byte [edi + 0x39], dl
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x10007fc0
sub esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 8], ebx
test esi, esi
je 0x10008083
cmp esi, 0x40
jb 0x10008060
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x10007ffe
cmp ecx, edi
jae 0x10008060
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10008020
mov ebx, dword [ebp - 8]
cmp edx, esi
jae 0x10008083
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x10008070
mov ebx, dword [ebp - 8]
push ebx
push dword [0x10354de8]
mov byte [ebx + esi], 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008382
mov edx, 0x10006f30
mov ecx, eax
call fcn.10001950
push 0x3d
call fcn.100177d8
mov edi, eax
add esp, 4
xor ebx, ebx
lea eax, [edi + 0x3b]
cmp edi, 0x100617d3
ja 0x100080c8
cmp eax, str._RequestServerLogin_UNetworkHandler__UAEHAAVL2ParamStack___Z
jae 0x100080f5
movaps xmm1, xmmword [0x10061b50]
mov ecx, 3
mov edx, str._RequestServerLogin_UNetworkHandler__UAEHAAVL2ParamStack___Z
mov eax, edi
sub edx, edi
lea ebx, [ecx + 0x2d]
lea eax, [eax + 0x10]
movups xmm0, xmmword [edx + eax - 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
sub ecx, 1
jne 0x100080e0
mov esi, str._RequestServerLogin_UNetworkHandler__UAEHAAVL2ParamStack___Z
lea ecx, [ebx + edi]
mov edx, 0x3c
sub esi, edi
sub edx, ebx
mov al, byte [ecx + esi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub edx, 1
jne 0x10008106
mov esi, edi
mov byte [edi + 0x3c], dl
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x10008120
sub esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 8], ebx
test esi, esi
je 0x100081e3
cmp esi, 0x40
jb 0x100081c0
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x1000815e
cmp ecx, edi
jae 0x100081c0
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x10008180
mov ebx, dword [ebp - 8]
cmp edx, esi
jae 0x100081e3
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x100081d0
mov ebx, dword [ebp - 8]
push ebx
push dword [0x10354de8]
mov byte [ebx + esi], 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008382
mov edx, 0x10005de0
mov ecx, eax
call fcn.10001950
push 0x3b
mov dword [0x10354f50], eax
call fcn.100177d8
mov edi, eax
add esp, 4
xor ebx, ebx
lea eax, [edi + 0x39]
cmp edi, 0x10061811
ja 0x1000822d
cmp eax, str._AddNetworkQueue_UNetworkHandler__UAEHPAUNetworkPacket___Z
jae 0x10008265
movaps xmm1, xmmword [0x10061b50]
mov ecx, 3
mov edx, str._AddNetworkQueue_UNetworkHandler__UAEHPAUNetworkPacket___Z
mov eax, edi
sub edx, edi
lea ebx, [ecx + 0x2d]
nop word [eax + eax]
lea eax, [eax + 0x10]
movups xmm0, xmmword [edx + eax - 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
sub ecx, 1
jne 0x10008250
mov esi, str._AddNetworkQueue_UNetworkHandler__UAEHPAUNetworkPacket___Z
lea ecx, [ebx + edi]
mov edx, 0x3a
sub esi, edi
sub edx, ebx
mov al, byte [ecx + esi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub edx, 1
jne 0x10008276
mov esi, edi
mov byte [edi + 0x3a], dl
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x10008290
sub esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 1]
push eax
call fcn.100177d8
add esp, 4
mov ebx, eax
xor edx, edx
mov dword [ebp - 8], ebx
test esi, esi
je 0x10008353
cmp esi, 0x40
jb 0x10008330
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x100082ce
cmp ecx, edi
jae 0x10008330
movaps xmm1, xmmword [0x10061b50]
mov ecx, esi
mov esi, edi
and ecx, 0xffffffc0
sub esi, ebx
mov eax, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
nop dword [eax]
movups xmm0, xmmword [ebx + eax]
lea eax, [eax + 0x40]
pxor xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [edi + edx + 0x10]
pxor xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edi + edx + 0x20]
pxor xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
add edx, 0x40
pxor xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
cmp edx, ecx
jb 0x100082f0
mov ebx, dword [ebp - 8]
cmp edx, esi
jae 0x10008353
lea ecx, [edx + ebx]
sub edi, ebx
mov ebx, esi
sub ebx, edx
nop dword [eax]
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor al, 0xa1
mov byte [ecx - 1], al
sub ebx, 1
jne 0x10008340
mov ebx, dword [ebp - 8]
push ebx
push dword [0x10354de8]
mov byte [ebx + esi], 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008382
mov edx, 0x10005600
mov ecx, eax
call fcn.10001950
mov dword [0x10354f4c], eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret