Function at 0x1018f4c0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10322e06
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x220
mov eax, dword [0x1043900c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1d0], eax
mov eax, dword [0x1060b4ec]
lea ecx, [edi + 8]
mov dword [ebp - 0x1d4], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x1cc], edi
mov eax, dword [eax + 0x28]
call eax
mov dword [ebp - 0x1bc], eax
lea ecx, [edi + 8]
mov eax, dword [0x1060b288]
mov eax, dword [eax]
mov esi, dword [eax + 0x20]
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [ebp - 0x1a0]
push ecx
mov ecx, dword [0x1060b288]
push eax
call esi
cmp byte [ebp - 0x64], 0
je 0x1018f70c
cmp byte [0x104b24f0], 0
jne 0x1018f6cf
mov edi, dword [0x104b24fc]
mov edx, edi
mov eax, dword [0x104b24f8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b24f0], 1
mov dword [ebp - 0x1a4], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b24f1]
xor al, cl
mov ecx, edx
mov byte [0x104b24f1], al
mov eax, dword [0x104b24f8]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b24f2]
xor al, cl
mov ecx, edx
mov byte [0x104b24f2], al
mov eax, dword [0x104b24f8]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b24f8]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, byte [0x104b24f3]
xor al, cl
xor edi, 0xd28f2c5
mov byte [0x104b24f3], al
mov eax, edx
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, byte [0x104b24f4]
xor al, dl
mov byte [0x104b24f4], al
push ecx
push 0x104b24f4
push 0x104b24f1
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov dword [ebp - 4], 0
lea edx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
cmovae edx, dword [ebp - 0x44]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1018f700
jmp 0x10192397
mov esi, edi
mov ecx, esi
call fcn.100cdad0
mov dword [ebp - 0x1a4], eax
test eax, eax
jne 0x1018f8c0
cmp byte [0x104b2600], al
jne 0x1018f88a
mov edi, dword [0x104b260c]
mov edx, edi
mov eax, dword [0x104b2608]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b2600], 1
mov dword [ebp - 0x1a4], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b2601]
xor al, cl
mov ecx, edx
mov byte [0x104b2601], al
mov eax, dword [0x104b2608]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b2602]
xor al, cl
mov ecx, edx
mov byte [0x104b2602], al
mov eax, dword [0x104b2608]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2608]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, byte [0x104b2603]
xor al, cl
xor edi, 0xd28f2c5
mov byte [0x104b2603], al
mov eax, edx
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, byte [0x104b2604]
xor al, dl
mov byte [0x104b2604], al
push ecx
push 0x104b2604
push 0x104b2601
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov dword [ebp - 4], 1
lea edx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
cmovae edx, dword [ebp - 0x44]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1018f8b4
jmp 0x10192397
mov ecx, esi
call fcn.100c8be0
test al, al
je 0x1018fa6d
cmp byte [0x104b2520], 0
jne 0x1018fa37
mov edi, dword [0x104b252c]
mov edx, edi
mov eax, dword [0x104b2528]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b2520], 1
mov dword [ebp - 0x1a4], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b2521]
xor al, cl
mov ecx, edx
mov byte [0x104b2521], al
mov eax, dword [0x104b2528]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b2522]
xor al, cl
mov ecx, edx
mov byte [0x104b2522], al
mov eax, dword [0x104b2528]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2528]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, byte [0x104b2523]
xor al, cl
xor edi, 0xd28f2c5
mov byte [0x104b2523], al
mov eax, edx
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, byte [0x104b2524]
xor al, dl
mov byte [0x104b2524], al
push ecx
push 0x104b2524
push 0x104b2521
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov dword [ebp - 4], 2
lea edx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
cmovae edx, dword [ebp - 0x44]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1018fa61
jmp 0x10192397
cmp byte [0x1060edca], 0
je 0x1019220e
mov eax, dword [0x1060b5e0]
mov eax, dword [eax + 0xaa8]
test eax, eax
je 0x1019220e
cmp byte [eax + 0x25f], 0
jne 0x1019220e
mov ecx, esi
call fcn.1018f2b0
cmp eax, 1
jge 0x1018fc4b
cmp byte [0x104b2580], 0
jne 0x1018fc12
mov edi, dword [0x104b258c]
mov edx, edi
mov eax, dword [0x104b2588]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b2580], 1
mov dword [ebp - 0x1a4], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b2581]
xor al, cl
mov ecx, edx
mov byte [0x104b2581], al
mov eax, dword [0x104b2588]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b2582]
xor al, cl
mov ecx, edx
mov byte [0x104b2582], al
mov eax, dword [0x104b2588]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2588]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, byte [0x104b2583]
xor al, cl
xor edi, 0xd28f2c5
mov byte [0x104b2583], al
mov eax, edx
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, byte [0x104b2584]
xor al, dl
mov byte [0x104b2584], al
push ecx
push 0x104b2584
push 0x104b2581
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov ecx, dword [ebp - 0x1d0]
lea eax, [ebp - 0x44]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x30], 0x10
cmovae eax, dword [ebp - 0x44]
add ecx, 8
push eax
call fcn.1006be60
jmp 0x101923a9
mov edi, dword [ebp - 0x1d0]
cmp dword [edi + 0x50ac], 1
jge 0x1018fdff
cmp byte [0x104b25c0], 0
jne 0x1018fdcc
mov edi, dword [0x104b25cc]
mov edx, edi
mov eax, dword [0x104b25c8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b25c0], 1
mov dword [ebp - 0x1a4], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b25c1]
xor al, cl
mov ecx, edx
mov byte [0x104b25c1], al
mov eax, dword [0x104b25c8]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b25c2]
xor al, cl
mov ecx, edx
mov byte [0x104b25c2], al
mov eax, dword [0x104b25c8]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b25c8]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, byte [0x104b25c3]
xor al, cl
xor edi, 0xd28f2c5
mov byte [0x104b25c3], al
mov eax, edx
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0x1d0]
shl eax, 0x11
xor al, byte [0x104b25c4]
xor al, dl
mov byte [0x104b25c4], al
push ecx
push 0x104b25c4
push 0x104b25c1
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov dword [ebp - 4], 5
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
lea ecx, [edi + 8]
cmovae eax, dword [ebp - 0x44]
push eax
call fcn.1006be60
jmp 0x101923a9
mov ecx, esi
call fcn.100c8be0
test al, al
je 0x1018ffaf
cmp byte [0x104b25d0], 0
jne 0x1018ff7c
mov edi, dword [0x104b25dc]
mov edx, edi
mov eax, dword [0x104b25d8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b25d0], 1
mov dword [ebp - 0x1a4], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b25d1]
xor al, cl
mov ecx, edx
mov byte [0x104b25d1], al
mov eax, dword [0x104b25d8]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b25d2]
xor al, cl
mov ecx, edx
mov byte [0x104b25d2], al
mov eax, dword [0x104b25d8]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b25d8]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, byte [0x104b25d3]
xor al, cl
xor edi, 0xd28f2c5
mov byte [0x104b25d3], al
mov eax, edx
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0x1d0]
shl eax, 0x11
xor al, byte [0x104b25d4]
xor al, dl
mov byte [0x104b25d4], al
push ecx
push 0x104b25d4
push 0x104b25d1
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov dword [ebp - 4], 6
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
lea ecx, [edi + 8]
cmovae eax, dword [ebp - 0x44]
push eax
call fcn.1006be60
jmp 0x101923a9
mov ecx, dword [esi + 0x2990]
xorps xmm1, xmm1
movss xmm0, dword [ecx + 0xc8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1018ffe1
movss xmm0, dword [ecx + 0xd4]
ucomiss xmm0, xmm1
mov byte [ebp - 0x1a9], 1
lahf
test ah, 0x44
jnp 0x1018ffe8
mov byte [ebp - 0x1a9], 0
mov eax, dword [0x1060b5e0]
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [eax + ecx*4 + 0x7744]
mov ecx, esi
mov dword [ebp - 0x1ec], eax
lea eax, [ebp - 0x20]
push eax
call fcn.100c4cb0
mov ecx, esi
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x1c4], xmm0
call fcn.100cd9c0
cmp byte [edi + 0x50a4], 0
movss xmm3, dword [0x1041f450]
movss dword [ebp - 0x1d8], xmm0
je 0x10190207
lea eax, [ebp - 0x21c]
mov ecx, esi
push eax
call fcn.100c4cb0
movss xmm3, dword [0x1041f450]
movss xmm0, dword [0x1041efc4]
movss xmm1, dword [eax]
andps xmm1, xmm3
comiss xmm0, xmm1
jbe 0x10190207
cmp byte [ebp - 0x1a9], 0
je 0x10190207
cmp byte [0x104b2610], 0
jne 0x10190106
mov byte [0x104b2610], 1
xor edi, edi
nop dword [eax]
xor edx, edx
mov eax, edi
xor eax, dword [0x104b2620]
xor edx, dword [0x104b2624]
xor eax, 0x1de26cd5
xor edx, 0xd28f2c5
mov dword [ebp - 0x1a8], eax
mov esi, dword [ebp - 0x1a8]
mov ecx, edx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
shr ecx, 7
xor esi, eax
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [edi + 0x104b2611]
xor cl, byte [ebp - 0x1a8]
mov byte [edi + 0x104b2611], cl
inc edi
cmp edi, 0xd
jb 0x10190090
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d0]
push ecx
push 0x104b261d
push 0x104b2611
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov dword [ebp - 4], 7
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
lea ecx, [edi + 8]
cmovae eax, dword [ebp - 0x44]
push eax
call fcn.1006be60
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
mov eax, dword [ebp - 0x1a4]
mov ecx, esi
movss xmm0, dword [eax + 0x80]
mov eax, dword [esi]
movss dword [ebp - 0x1c8], xmm0
mov eax, dword [eax + 0x290]
call eax
movss xmm1, dword [ebp - 0x1c8]
movss xmm0, dword [eax + 4]
call fcn.1018f330
comiss xmm0, dword [0x1041efb0]
jbe 0x101901a3
movss xmm0, dword [ebp - 0x1d8]
addss xmm0, dword [edi + 0x5078]
mov eax, dword [ebp - 0x1dc]
movss dword [eax], xmm0
mov byte [eax + 4], 1
jmp 0x101923bb
mov eax, dword [ebp - 0x1a4]
mov ecx, esi
movss xmm0, dword [eax + 0x80]
mov eax, dword [esi]
movss dword [ebp - 0x1c8], xmm0
mov eax, dword [eax + 0x290]
call eax
movss xmm1, dword [ebp - 0x1c8]
movss xmm0, dword [eax + 4]
call fcn.1018f330
mov eax, dword [ebp - 0x1dc]
movss xmm2, dword [edi + 0x5078]
mov byte [eax + 4], 1
movss xmm1, dword [0x1041f1fc]
comiss xmm1, xmm0
jbe 0x101901fe
subss xmm2, dword [ebp - 0x1d8]
movss dword [eax], xmm2
jmp 0x101923bb
movss xmm1, dword [edi + 0x4838]
movss xmm0, dword [edi + 0x4834]
mulss xmm0, xmm0
mov dword [ebp - 0x24], 0
mulss xmm1, xmm1
addss xmm0, xmm1
movss dword [ebp - 0x1c8], xmm0
sqrtss xmm0, dword [ebp - 0x1c8]
movss dword [ebp - 0x24], xmm0
movss xmm2, dword [0x1041eec0]
comiss xmm2, dword [ebp - 0x24]
jb 0x101905f9
cmp byte [0x104b25b0], 0
jne 0x101903c5
mov edi, dword [0x104b25bc]
mov edx, edi
mov eax, dword [0x104b25b8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b25b0], 1
mov dword [ebp - 0x1a8], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a8]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b25b1]
xor al, cl
mov ecx, edx
mov byte [0x104b25b1], al
mov eax, dword [0x104b25b8]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a8], eax
mov esi, dword [ebp - 0x1a8]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b25b2]
xor al, cl
mov ecx, edx
mov byte [0x104b25b2], al
mov eax, dword [0x104b25b8]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1a8], eax
mov esi, dword [ebp - 0x1a8]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b25b8]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, byte [0x104b25b3]
xor al, cl
xor edi, 0xd28f2c5
mov byte [0x104b25b3], al
mov eax, edx
mov esi, dword [ebp - 0x1cc]
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0x1d0]
shl eax, 0x11
xor al, byte [0x104b25b4]
xor al, dl
mov byte [0x104b25b4], al
push ecx
push 0x104b25b4
push 0x104b25b1
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov dword [ebp - 4], 8
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
lea ecx, [edi + 8]
mov dword [ebp - 0x1e4], ecx
cmovae eax, dword [ebp - 0x44]
push eax
call fcn.1006be60
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
mov eax, dword [ebp - 0x1a4]
mov ecx, esi
movss xmm0, dword [eax + 0x80]
mov eax, dword [esi]
movss dword [ebp - 0x1c8], xmm0
mov eax, dword [eax + 0x290]
call eax
movss xmm1, dword [ebp - 0x1c8]
movss xmm0, dword [eax + 4]
call fcn.1018f330
comiss xmm0, dword [0x1041efb0]
jbe 0x1019045e
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1d4]
mov dword [edx + ecx*4 + 0x144], 1
jmp 0x101904b6
mov eax, dword [ebp - 0x1a4]
mov ecx, esi
movss xmm0, dword [eax + 0x80]
mov eax, dword [esi]
movss dword [ebp - 0x1c8], xmm0
mov eax, dword [eax + 0x290]
call eax
movss xmm1, dword [ebp - 0x1c8]
movss xmm0, dword [eax + 4]
call fcn.1018f330
movss xmm1, dword [0x1041f1fc]
comiss xmm1, xmm0
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1d4]
jbe 0x101904b6
mov dword [edx + ecx*4 + 0x144], 0xffffffff
cmp dword [edx + ecx*4 + 0x144], 0
je 0x101904d0
cmp byte [ebp - 0x1a9], 0
je 0x101904d0
mov byte [edi + 0x484c], 1
cmp byte [0x104b25a0], 0
mov eax, dword [0x1060b290]
mov eax, dword [eax]
mov dword [ecx*4 + 0x10612350], eax
jne 0x1019059c
mov edi, dword [0x104b25ac]
mov edx, edi
mov eax, dword [0x104b25a8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b25a0], 1
mov dword [ebp - 0x1a4], eax
mov ecx, edx
mov esi, dword [ebp - 0x1a4]
xor edi, 0xd28f2c5
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov esi, dword [ebp - 0x1cc]
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b25a8]
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, byte [0x104b25a1]
xor al, cl
mov ecx, edi
mov byte [0x104b25a1], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, byte [0x104b25a2]
xor al, dl
mov byte [0x104b25a2], al
push ecx
push 0x104b25a2
push 0x104b25a1
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov ecx, dword [ebp - 0x1e4]
lea eax, [ebp - 0x44]
mov dword [ebp - 4], 9
cmp dword [ebp - 0x30], 0x10
cmovae eax, dword [ebp - 0x44]
push eax
call fcn.1006be60
lea ecx, [ebp - 0x44]
call fcn.10019dd0
mov edi, dword [ebp - 0x1bc]
mov eax, dword [0x1060b5e0]
mov eax, dword [eax + 0xaa8]
test eax, eax
jne 0x10191e0e
xorps xmm4, xmm4
xorps xmm3, xmm3
jmp 0x10191e2e
movss xmm1, dword [edi + 0x4838]
movss xmm0, dword [edi + 0x4834]
mulss xmm0, xmm0
mov dword [ebp - 0x24], 0
mulss xmm1, xmm1
addss xmm0, xmm1
movss dword [ebp - 0x1c8], xmm0
sqrtss xmm0, dword [ebp - 0x1c8]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x24]
comiss xmm0, xmm2
jbe 0x101905d5
mov edx, dword [ebx + 0x14]
xor cl, cl
mov dword [ebp - 0x1c8], ecx
xorps xmm2, xmm2
test edx, edx
je 0x101906a9
cvttss2si eax, dword [edi + 0x4b38]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1041f0dc]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x101906a9
movss xmm1, dword [edi + 0x49e8]
subss xmm1, dword [edx + 0x49e8]
movss xmm0, dword [0x1041ec80]
andps xmm1, xmm3
comiss xmm0, xmm1
jb 0x101906a9
movss xmm0, dword [edi + 0x49f0]
mov eax, 1
comiss xmm0, xmm2
movzx ecx, cl
cmova ecx, eax
mov dword [ebp - 0x1c8], ecx
movss xmm1, dword [0x1041f128]
movaps xmm0, xmm1
movss dword [ebp - 0x1a8], xmm1
movss xmm1, dword [edi + 0x4838]
movss dword [ebp - 0x1e4], xmm0
movss xmm0, dword [edi + 0x4834]
mulss xmm0, xmm0
mov dword [ebp - 0x24], 0
mulss xmm1, xmm1
addss xmm0, xmm1
movss dword [ebp - 0x1c0], xmm0
sqrtss xmm0, dword [ebp - 0x1c0]
movss dword [ebp - 0x24], xmm0
mov eax, dword [0x1060b290]
movss xmm0, dword [edi + 0x49f0]
movss xmm1, dword [ebp - 0x24]
mov dword [ebp - 0x1c0], 0
divss xmm0, dword [eax + 0x20]
movss dword [ebp - 0x1a4], xmm2
divss xmm1, xmm0
movss dword [ebp - 0x1e0], xmm1
mov ecx, esi
call fcn.100c3250
mov ecx, esi
movss xmm0, dword [eax + 0x1c]
movss dword [ebp - 0x1b4], xmm0
call fcn.100c3250
movss xmm0, dword [ebp - 0x1a4]
mov ecx, esi
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
movss dword [eax + 0x1c], xmm0
lea eax, [ebp - 0x20]
push eax
push dword [edi + 0x49e0]
mov dword [ebp - 0x20], 0
push dword [esi + 0x2950]
call fcn.100c35e0
movss xmm1, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x18]
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [ebp - 0x1a8]
subss xmm0, dword [ebp - 0x1e0]
andps xmm0, xmmword [0x1041f450]
comiss xmm1, xmm0
jbe 0x101907e3
movss xmm1, dword [ebp - 0x1a4]
movss dword [ebp - 0x1e4], xmm1
movss dword [ebp - 0x1a8], xmm0
mov ecx, esi
call fcn.100c3250
movss xmm0, dword [ebp - 0x1b4]
movss xmm1, dword [0x1041edc4]
movss dword [eax + 0x1c], xmm0
movss xmm0, dword [ebp - 0x1a4]
addss xmm0, dword [0x1041ec70]
comiss xmm1, xmm0
movss dword [ebp - 0x1a4], xmm0
jae 0x10190731
movss xmm0, dword [ebp - 0x1e4]
ucomiss xmm0, dword [0x1041f128]
lahf
test ah, 0x44
jnp 0x101909b2
mov ecx, esi
call fcn.100c3250
push dword [edi + 0x49e0]
mov ecx, esi
push dword [esi + 0x2950]
movss xmm0, dword [eax + 0x1c]
movss dword [ebp - 0x1b4], xmm0
call fcn.100c3650
mov ecx, esi
call fcn.100c3250
movss xmm0, dword [ebp - 0x1b4]
mov ecx, esi
movss dword [eax + 0x1c], xmm0
call fcn.100c3250
mov ecx, esi
mov dword [eax + 0x1c], 0x3f000000
movss xmm0, dword [edi + 0x4838]
movss dword [ebp - 0x1b4], xmm0
fld dword [ebp - 0x1b4]
movss xmm0, dword [edi + 0x4834]
movss dword [ebp - 0x1e0], xmm0
fld dword [ebp - 0x1e0]
fpatan
mov eax, dword [ebx + 0x14]
fstp dword [ebp - 0x1b4]
movss xmm0, dword [ebp - 0x1b4]
mulss xmm0, dword [0x1041efc8]
movss dword [ebp - 0x1e4], xmm0
movss xmm0, dword [eax + 0x4838]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [eax + 0x4834]
fld dword [ebp - 0x1b4]
movss dword [ebp - 0x1e0], xmm0
fld dword [ebp - 0x1e0]
fpatan
fstp dword [ebp - 0x1b4]
movss xmm0, dword [ebp - 0x1b4]
mulss xmm0, dword [0x1041efc8]
movss dword [ebp - 0x1b4], xmm0
call fcn.100cdad0
xorps xmm0, xmm0
comiss xmm0, dword [eax + 0x88]
jbe 0x1019094f
mov ecx, esi
call fcn.100cdad0
movss xmm0, dword [eax + 0x88]
addss xmm0, dword [0x1041f074]
movss dword [eax + 0x88], xmm0
mov ecx, esi
call fcn.100cdad0
lea ecx, [eax + 0x88]
call fcn.1018f3a0
movss xmm1, dword [ebp - 0x1e4]
subss xmm1, dword [ebp - 0x1b4]
movss xmm0, dword [0x1041f224]
comiss xmm0, xmm1
jbe 0x10190988
addss xmm1, dword [0x1041f074]
jmp 0x10190999
comiss xmm1, dword [0x1041f028]
jbe 0x10190999
subss xmm1, dword [0x1041f074]
xor eax, eax
comiss xmm1, dword [0x1041ec1c]
seta al
lea eax, [eax*2 - 1]
mov dword [ebp - 0x1c0], eax
cmp byte [ebp - 0x1c8], 0
je 0x10191db5
lea eax, [edi + 8]
push 1
push 0x10410b58
mov ecx, eax
mov dword [ebp - 0x1a4], eax
call fcn.100325b0
movss xmm1, dword [0x1041f450]
lea eax, [edi + 0x4b88]
movss xmm2, dword [0x1041f24c]
lea ecx, [edi + 0x4bc0]
lea edx, [edi + 0x4c68]
test eax, eax
je 0x10190a19
movss xmm0, dword [edi + 0x49f0]
subss xmm0, dword [eax + 0x28]
andps xmm0, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x40], xmm0
jbe 0x10190a19
movaps xmm2, xmm0
xor eax, eax
mov dword [ebp - 0x1a8], eax
test ecx, ecx
je 0x10190a53
movss xmm0, dword [edi + 0x49f0]
subss xmm0, dword [ecx + 0x28]
mov dword [ebp - 0x1a8], eax
andps xmm0, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x3c], xmm0
jbe 0x10190a53
mov eax, 1
movaps xmm2, xmm0
mov dword [ebp - 0x1a8], eax
test edx, edx
je 0x10190a7f
movss xmm0, dword [edi + 0x49f0]
subss xmm0, dword [edx + 0x28]
andps xmm0, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x38], xmm0
jbe 0x10190a7f
mov eax, 2
movaps xmm2, xmm0
mov dword [ebp - 0x1a8], eax
lea ecx, [edi + 0x4c30]
test ecx, ecx
je 0x10190ab1
movss xmm0, dword [edi + 0x49f0]
subss xmm0, dword [ecx + 0x28]
andps xmm0, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x34], xmm0
jbe 0x10190ab1
mov eax, 3
movaps xmm2, xmm0
mov dword [ebp - 0x1a8], eax
lea ecx, [edi + 0x4bf8]
test ecx, ecx
je 0x10190ae1
movss xmm0, dword [edi + 0x49f0]
subss xmm0, dword [ecx + 0x28]
mov ecx, 4
andps xmm0, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x30], xmm0
cmova eax, ecx
mov dword [ebp - 0x1a8], eax
push 0x10
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
call fcn.102bb92a
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0
mov byte [ebp - 4], 0xb
push 0x40
mov dword [ebp - 0x1f8], 7
mov dword [ebp - 0x1f4], 8
mov dword [ebp - 0x210], 0x3f800000
mov dword [ebp - 0x1b4], eax
call fcn.102bb92a
mov ecx, dword [ebp - 0x1fc]
add esp, 4
mov edx, dword [ebp - 0x204]
mov edi, eax
sub ecx, edx
sar ecx, 2
test ecx, ecx
je 0x10190baf
shl ecx, 2
mov eax, edx
cmp ecx, 0x1000
jb 0x10190ba5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10190ba5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.102bb95a
add esp, 8
lea edx, [edi + 0x40]
mov dword [ebp - 0x204], edi
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x200], edx
push eax
mov ecx, edi
mov dword [ebp - 0x1fc], edx
call fcn.1001a9f0
add esp, 4
mov dword [ebp - 4], 0xc
lea edi, [ebp - 0x40]
mov esi, 5
push edi
lea ecx, [ebp - 0x210]
call 0x101923f0
add edi, 4
inc dword [eax]
sub esi, 1
jne 0x10190be4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x208], 1
mov byte [ebp - 0x1a9], 1
je 0x10190c18
mov byte [ebp - 0x1a9], 0
lea ecx, [ebp - 0x210]
call fcn.1018f470
cmp byte [ebp - 0x1a9], 0
mov esi, dword [ebp - 0x1cc]
jne 0x10191db5
mov eax, dword [ebp - 0x1a8]
cmp eax, dword [ebp - 0x1c0]
jne 0x10191db5
test eax, eax
jne 0x10191115
mov eax, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1d4]
mov dword [edx + eax*4 + 0x144], 0xffffffff
cmp byte [0x104b2640], 0
jne 0x10190d1f
mov edi, dword [0x104b264c]
mov edx, edi
mov eax, dword [0x104b2648]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b2640], 1
mov dword [ebp - 0x1a8], eax
mov ecx, edx
mov esi, dword [ebp - 0x1a8]
xor edi, 0xd28f2c5
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2648]
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, byte [0x104b2641]
xor al, cl
mov ecx, edi
mov byte [0x104b2641], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, byte [0x104b2642]
xor al, dl
mov byte [0x104b2642], al
push ecx
push 0x104b2642
push 0x104b2641
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov ecx, dword [ebp - 0x1a4]
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0xd
cmp dword [ebp - 0x18], 0x10
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.1006be30
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
cmp byte [0x104b2560], 0
jne 0x101910b0
mov edi, dword [0x104b2574]
mov edx, edi
mov eax, dword [0x104b2570]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b2560], 1
mov dword [ebp - 0x1a4], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b2561]
xor al, cl
mov ecx, edx
mov byte [0x104b2561], al
mov eax, dword [0x104b2570]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2562], al
mov eax, dword [0x104b2570]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, cl
xor byte [0x104b2563], al
mov eax, dword [0x104b2570]
xor eax, 0x1de26cd6
xor edx, 0xd28f2c5
mov dword [ebp - 0x1a4], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2564], al
mov eax, dword [0x104b2570]
xor eax, 0x1de26cd1
mov dword [ebp - 0x1a4], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2565], al
mov eax, dword [0x104b2570]
xor eax, 0x1de26cd0
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2566], al
mov eax, dword [0x104b2570]
xor eax, 0x1de26cd3
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
shr ecx, 7
xor esi, eax
xor edx, ecx
mov ecx, esi
mov dword [ebp - 0x1a4], esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2567], al
mov eax, dword [0x104b2570]
xor eax, 0x1de26cd2
mov dword [ebp - 0x1a4], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2568], al
mov eax, dword [0x104b2570]
xor eax, 0x1de26cdd
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov dword [ebp - 0x1b4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2570]
shl eax, 0x11
xor edx, 0x1de26cdc
xor al, cl
mov ecx, edi
xor byte [0x104b2569], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104b256a], al
push ecx
push 0x104b256a
push 0x104b2561
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
mov edi, dword [ebp - 0x1bc]
cmovae eax, dword [ebp - 0x2c]
push eax
lea eax, [edi + edi*2]
lea ecx, [eax*8 + 0x1060c210]
call fcn.1006be60
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
cmp edi, 0x41
jae 0x101923db
mov esi, dword [ebp - 0x1cc]
mov byte [edi + 0x1060b368], 0
jmp 0x10191dbb
cmp eax, 1
jne 0x10191321
mov edi, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1d4]
mov dword [edx + edi*4 + 0x144], 0xffffffff
cmp byte [0x104b2550], 0
jne 0x10191240
mov edi, dword [0x104b255c]
mov edx, edi
mov byte [0x104b2550], al
xor edx, 0xd28f2c5
mov eax, dword [0x104b2558]
mov ecx, edx
xor eax, 0x1de26cd5
mov dword [ebp - 0x1a8], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a8]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2551], al
mov eax, dword [0x104b2558]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a8], eax
mov esi, dword [ebp - 0x1a8]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
mov dword [ebp - 0x1b4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2558]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, cl
mov ecx, edi
xor byte [0x104b2552], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0x1bc]
shl eax, 0x11
xor al, dl
xor byte [0x104b2553], al
push ecx
push 0x104b2553
push 0x104b2551
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov ecx, dword [ebp - 0x1a4]
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0xf
cmp dword [ebp - 0x18], 0x10
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.1006be30
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
cmp byte [0x104b2660], 0
jne 0x10191302
mov byte [0x104b2660], 1
xor edi, edi
xor edx, edx
mov eax, edi
xor eax, dword [0x104b2670]
xor edx, dword [0x104b2674]
xor eax, 0x1de26cd5
xor edx, 0xd28f2c5
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
mov ecx, edx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
shr ecx, 7
xor esi, eax
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [edi + 0x104b2661]
xor cl, byte [ebp - 0x1a4]
mov byte [edi + 0x104b2661], cl
inc edi
cmp edi, 0xd
jb 0x10191292
mov edi, dword [ebp - 0x1bc]
push ecx
push 0x104b266d
push 0x104b2661
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 0x10
jmp 0x101918fa
cmp eax, 2
jne 0x101916ed
mov eax, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1d4]
mov dword [edx + eax*4 + 0x144], 0
cmp byte [0x104b2500], 0
jne 0x101913f5
mov edi, dword [0x104b250c]
mov edx, edi
mov eax, dword [0x104b2508]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b2500], 1
mov dword [ebp - 0x1a8], eax
mov ecx, edx
mov esi, dword [ebp - 0x1a8]
xor edi, 0xd28f2c5
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
mov dword [ebp - 0x1b4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2508]
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, cl
mov ecx, edi
xor byte [0x104b2501], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104b2502], al
push ecx
push 0x104b2502
push 0x104b2501
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov ecx, dword [ebp - 0x1a4]
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x11
cmp dword [ebp - 0x18], 0x10
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.1006be30
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
cmp byte [0x104b2630], 0
jne 0x10191688
mov edi, dword [0x104b263c]
mov edx, edi
mov eax, dword [0x104b2638]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b2630], 1
mov dword [ebp - 0x1a4], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2631], al
mov eax, dword [0x104b2638]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2632], al
mov eax, dword [0x104b2638]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2633], al
mov eax, dword [0x104b2638]
xor eax, 0x1de26cd6
mov dword [ebp - 0x1a4], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
xor edx, ecx
shl eax, 0xd
mov ecx, edx
xor esi, eax
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2634], al
mov eax, dword [0x104b2638]
xor eax, 0x1de26cd1
mov dword [ebp - 0x1a4], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
xor edx, ecx
shl eax, 0xd
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2635], al
mov eax, dword [0x104b2638]
xor eax, 0x1de26cd0
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov dword [ebp - 0x1b4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2638]
shl eax, 0x11
xor edx, 0x1de26cd3
xor al, cl
mov ecx, edi
xor byte [0x104b2636], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
shr ecx, 7
xor edx, eax
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104b2637], al
push ecx
push 0x104b2637
push 0x104b2631
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov edi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x18], 0x10
cmovae eax, dword [ebp - 0x2c]
push eax
lea eax, [edi + edi*2]
lea ecx, [eax*8 + 0x1060c210]
call fcn.1006be60
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
cmp edi, 0x41
jae 0x101923db
mov esi, dword [ebp - 0x1cc]
mov byte [edi + 0x1060b368], 0
jmp 0x10191dbb
cmp eax, 3
jne 0x10191936
mov edi, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1d4]
mov dword [edx + edi*4 + 0x144], 1
cmp byte [0x104b2650], 0
jne 0x1019181a
mov edi, dword [0x104b265c]
mov edx, edi
mov eax, dword [0x104b2658]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b2650], 1
mov dword [ebp - 0x1a8], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a8]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2651], al
mov eax, dword [0x104b2658]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a8], eax
mov esi, dword [ebp - 0x1a8]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
mov dword [ebp - 0x1b4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2658]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, cl
mov ecx, edi
xor byte [0x104b2652], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0x1bc]
shl eax, 0x11
xor al, dl
xor byte [0x104b2653], al
push ecx
push 0x104b2653
push 0x104b2651
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov ecx, dword [ebp - 0x1a4]
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x13
cmp dword [ebp - 0x18], 0x10
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.1006be30
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
cmp byte [0x104b2530], 0
jne 0x101918e0
mov byte [0x104b2530], 1
xor edi, edi
xor edx, edx
mov eax, edi
xor eax, dword [0x104b2540]
xor edx, dword [0x104b2544]
xor eax, 0x1de26cd5
xor edx, 0xd28f2c5
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
mov ecx, edx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
shr ecx, 7
xor esi, eax
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [edi + 0x104b2531]
xor cl, byte [ebp - 0x1a4]
mov byte [edi + 0x104b2531], cl
inc edi
cmp edi, 0xd
jb 0x10191870
mov edi, dword [ebp - 0x1bc]
push ecx
push 0x104b253d
push 0x104b2531
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
lea eax, [edi + edi*2]
lea ecx, [eax*8 + 0x1060c210]
call fcn.1006be60
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
mov esi, dword [ebp - 0x1cc]
mov byte [edi + 0x1060b368], 1
jmp 0x10191dbb
cmp eax, 4
jne 0x10191db5
mov eax, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1d4]
mov dword [edx + eax*4 + 0x144], 1
cmp byte [0x104b2590], 0
jne 0x10191a0a
mov edi, dword [0x104b259c]
mov edx, edi
mov eax, dword [0x104b2598]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b2590], 1
mov dword [ebp - 0x1a8], eax
mov ecx, edx
mov esi, dword [ebp - 0x1a8]
xor edi, 0xd28f2c5
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, esi
mov dword [ebp - 0x1b4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2598]
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, cl
mov ecx, edi
xor byte [0x104b2591], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104b2592], al
push ecx
push 0x104b2592
push 0x104b2591
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov ecx, dword [ebp - 0x1a4]
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x15
cmp dword [ebp - 0x18], 0x10
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.1006be30
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
cmp byte [0x104b25e0], 0
jne 0x10191d96
mov edi, dword [0x104b25f4]
mov edx, edi
mov eax, dword [0x104b25f0]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b25e0], 1
mov dword [ebp - 0x1a4], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b25e1], al
mov eax, dword [0x104b25f0]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b25e2], al
mov eax, dword [0x104b25f0]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b25e3], al
mov eax, dword [0x104b25f0]
xor eax, 0x1de26cd6
mov dword [ebp - 0x1a4], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
xor edx, ecx
shl eax, 0xd
mov ecx, edx
xor esi, eax
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b25e4], al
mov eax, dword [0x104b25f0]
xor eax, 0x1de26cd1
mov dword [ebp - 0x1a4], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b25e5], al
mov eax, dword [0x104b25f0]
xor eax, 0x1de26cd0
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b25e6], al
mov eax, dword [0x104b25f0]
xor eax, 0x1de26cd3
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
shr ecx, 7
xor esi, eax
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b25e7], al
mov eax, dword [0x104b25f0]
xor eax, 0x1de26cd2
mov dword [ebp - 0x1a4], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1a4]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b25e8], al
mov eax, dword [0x104b25f0]
xor eax, 0x1de26cdd
mov dword [ebp - 0x1a4], eax
mov esi, dword [ebp - 0x1a4]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, esi
mov dword [ebp - 0x1b4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b25f0]
shl eax, 0x11
xor edx, 0x1de26cdc
xor al, cl
mov ecx, edi
xor byte [0x104b25e9], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104b25ea], al
push ecx
push 0x104b25ea
push 0x104b25e1
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 0x16
jmp 0x101910ca
mov edi, dword [ebp - 0x1bc]
cmp byte [edi + 0x1060b368], 1
jne 0x10191ddb
mov ecx, esi
call fcn.100cd9c0
mulss xmm0, dword [0x1041ed50]
movss dword [ebp - 0x1d8], xmm0
mov eax, dword [ebp - 0x1d4]
mov eax, dword [eax + edi*4 + 0x144]
test eax, eax
je 0x101905db
cmp eax, dword [ebp - 0x1c0]
jne 0x101905db
mov ecx, dword [ebp - 0x1d0]
mov byte [ecx + 0x484c], 1
jmp 0x101905db
movq xmm0, qword [eax + 0x138]
mov eax, dword [eax + 0x140]
movq qword [ebp - 0x20], xmm0
movss xmm3, dword [ebp - 0x1c]
movss xmm4, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
movq xmm0, qword [esi + 0x138]
mov eax, dword [esi + 0x140]
movq qword [ebp - 0x20], xmm0
subss xmm4, dword [ebp - 0x20]
subss xmm3, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x220], 0
movaps xmm1, xmm4
movss dword [ebp - 0x1e0], xmm4
movaps xmm2, xmm3
mulss xmm1, xmm4
mulss xmm2, xmm3
addss xmm2, xmm1
movss dword [ebp - 0x1b4], xmm2
sqrtss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x220], xmm0
divss xmm3, xmm4
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
movss xmm1, dword [ebp - 0x1e0]
comiss xmm1, dword [0x1041ec1c]
mulss xmm0, dword [0x1041efc8]
jb 0x10191eb7
addss xmm0, dword [0x1041f028]
subss xmm0, dword [0x1041efe8]
call fcn.10127310
movss xmm1, dword [ebp - 0x1c4]
subss xmm1, xmm0
movaps xmm0, xmm1
call fcn.10127310
andps xmm0, xmmword [0x1041f450]
movss xmm1, dword [0x1041efa0]
comiss xmm1, xmm0
ja 0x10191f6f
mov eax, dword [0x1060b5e0]
mov eax, dword [eax + 0xaa8]
test eax, eax
jne 0x10191f07
xorps xmm2, xmm2
xorps xmm1, xmm1
jmp 0x10191f27
movq xmm0, qword [eax + 0x138]
mov eax, dword [eax + 0x140]
movq qword [ebp - 0x20], xmm0
movss xmm1, dword [ebp - 0x1c]
movss xmm2, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
movq xmm0, qword [esi + 0x138]
mov eax, dword [esi + 0x140]
movq qword [ebp - 0x20], xmm0
subss xmm1, dword [ebp - 0x1c]
subss xmm2, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], 0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm1, xmm2
movss dword [ebp - 0x1b4], xmm1
sqrtss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x24], xmm0
mov eax, dword [0x1060b5e0]
mov eax, dword [eax + 0xaa8]
test eax, eax
jne 0x10191f86
xorps xmm4, xmm4
xorps xmm3, xmm3
jmp 0x10191f9d
movq xmm0, qword [eax + 0x138]
movq qword [ebp - 0x20], xmm0
movss xmm3, dword [ebp - 0x1c]
movss xmm4, dword [ebp - 0x20]
movq xmm0, qword [esi + 0x138]
movq qword [ebp - 0x20], xmm0
subss xmm4, dword [ebp - 0x20]
subss xmm3, dword [ebp - 0x1c]
mov dword [ebp - 0x230], 0
movaps xmm1, xmm4
movss dword [ebp - 0x1e0], xmm4
movaps xmm2, xmm3
mulss xmm1, xmm4
mulss xmm2, xmm3
addss xmm2, xmm1
movss dword [ebp - 0x1b4], xmm2
sqrtss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x230], xmm0
divss xmm3, xmm4
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
movss xmm1, dword [ebp - 0x1e0]
comiss xmm1, dword [0x1041ec1c]
mulss xmm0, dword [0x1041efc8]
movss xmm1, dword [0x1041f028]
jb 0x10192021
addss xmm0, xmm1
subss xmm0, xmm1
call fcn.10127310
movss xmm1, dword [ebp - 0x1c4]
subss xmm1, xmm0
movaps xmm0, xmm1
call fcn.10127310
andps xmm0, xmmword [0x1041f450]
movss xmm1, dword [0x1041efe8]
mov ecx, dword [ebp - 0x1d4]
mov esi, dword [ebp - 0x1ec]
comiss xmm1, xmm0
seta al
mov byte [ebp - 0x1a9], al
movzx eax, al
mov dword [ecx + edi*4 + 0x244], eax
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub esi, eax
cmp esi, 3
ja case.default.0x1019208d
jmp dword [esi*4 + 0x101923e0]
mov edx, dword [ecx + edi*4 + 0x144]
test edx, edx
je 0x101920cc
mov eax, edx
neg eax
cmp byte [ebp - 0x1a9], 0
cmove eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x1d8]
addss xmm0, dword [ebp - 0x1c4]
movss dword [ebp - 0x1c4], xmm0
movss xmm1, dword [ebp - 0x1c4]
jmp 0x101921f2
mov edx, dword [ecx + edi*4 + 0x144]
test edx, edx
jne 0x10192104
movss xmm0, dword [ebp - 0x1c4]
subss xmm0, dword [ebp - 0x1d8]
movss dword [ebp - 0x1c4], xmm0
movaps xmm1, xmm0
jmp 0x101921f2
movss xmm1, dword [ebp - 0x1c4]
mov eax, edx
neg eax
cmp byte [ebp - 0x1a9], 0
cmove eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x1d8]
subss xmm1, xmm0
movss dword [ebp - 0x1c4], xmm1
jmp 0x101921f2
mov edx, dword [ecx + edi*4 + 0x144]
test edx, edx
jne 0x1019215e
movss xmm0, dword [ebp - 0x1d8]
movss xmm1, dword [ebp - 0x1c4]
addss xmm1, xmm0
jmp 0x101921f2
mov eax, edx
neg eax
cmp byte [ebp - 0x1a9], 0
cmove eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x1d8]
jmp 0x101921d7
mov edx, dword [ecx + edi*4 + 0x144]
movss xmm2, dword [ebp - 0x1d8]
mulss xmm2, dword [0x1041ed50]
movss xmm1, dword [ebp - 0x1c4]
test edx, edx
jne 0x101921a6
subss xmm1, xmm2
jmp 0x101921f2
mov eax, edx
neg eax
cmp byte [ebp - 0x1a9], 0
cmove eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
subss xmm1, xmm0
jmp 0x101921f2
cmp dword [ecx + edi*4 + 0x144], 0
jne 0x101921ed
movss xmm0, dword [ebp - 0x1d8]
mulss xmm0, dword [0x1041ed50]
movss xmm1, dword [ebp - 0x1c4]
addss xmm1, xmm0
jmp 0x101921f2
movss xmm1, dword [ebx + 0x18]
mov eax, dword [ebp - 0x1dc]
movss dword [ecx + edi*4 + 0x344], xmm1
movss dword [eax], xmm1
mov byte [eax + 4], 1
jmp 0x101923bb
cmp byte [0x104b2510], 0
jne 0x10192362
mov edi, dword [0x104b251c]
mov edx, edi
mov eax, dword [0x104b2518]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b2510], 1
mov dword [ebp - 0x1c0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x1c0]
xor edx, ecx
shl eax, 0xd
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1c0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2511], al
mov eax, dword [0x104b2518]
xor eax, 0x1de26cd4
mov dword [ebp - 0x1c0], eax
mov esi, dword [ebp - 0x1c0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1c0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b2512], al
mov eax, dword [0x104b2518]
xor eax, 0x1de26cd7
mov dword [ebp - 0x1c0], eax
mov esi, dword [ebp - 0x1c0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1c0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b2518]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, cl
mov ecx, edi
xor byte [0x104b2513], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, eax
xor edi, ecx
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104b2514], al
push ecx
push 0x104b2514
push 0x104b2511
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov dword [ebp - 4], 3
lea edx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
cmovae edx, dword [ebp - 0x44]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10192390
sub ecx, esi
push ecx
mov ecx, dword [ebp - 0x1d0]
push edx
add ecx, 8
call fcn.100325b0
lea ecx, [ebp - 0x44]
call fcn.10019dd0
mov eax, dword [ebp - 0x1dc]
mov byte [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.102bb91c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x14
call fcn.102bc084
xchg esp, eax
and byte [ecx], bl
adc cl, bl
and byte [ecx], bl
adc byte [edx], bh
and dword [ecx], ebx
adc byte [ebp + 0x21], bh
sbb dword [eax], edx
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 8
lea eax, [esp]
push dword [ebp + 8]
push eax
call fcn.101924d0
mov eax, dword [eax]
add eax, 0xc
mov esp, ebp
pop ebp
ret 4