Function at 0x10043730
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x103158b8
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x54c8
call fcn.10311900
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, ecx
mov dword [ebp - 0x5368], eax
cmp byte [0x1060f4f9], 0
je 0x10045a14
cmp byte [0x104a93a0], 0
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x536c], eax
jne 0x10043a88
mov edi, dword [0x104a93b4]
mov edx, edi
mov eax, dword [0x104a93b0]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104a93a0], 1
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], 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 [0x104a93a1], al
mov eax, dword [0x104a93b0]
xor eax, 0x1de26cd4
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], 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 [0x104a93a2], al
mov eax, dword [0x104a93b0]
xor eax, 0x1de26cd7
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], 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 [0x104a93a3], al
mov eax, dword [0x104a93b0]
xor eax, 0x1de26cd6
mov dword [ebp - 0x5364], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], 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 [0x104a93a4], al
mov eax, dword [0x104a93b0]
xor eax, 0x1de26cd1
mov dword [ebp - 0x5364], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], 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 [0x104a93a5], al
mov eax, dword [0x104a93b0]
xor eax, 0x1de26cd0
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], 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 [0x104a93a6], al
mov eax, dword [0x104a93b0]
xor eax, 0x1de26cd3
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], 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 [0x104a93a7], al
mov eax, dword [0x104a93b0]
xor eax, 0x1de26cd2
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104a93b0]
shl eax, 0x11
xor edx, 0x1de26cdd
xor al, cl
mov ecx, edi
xor byte [0x104a93a8], 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 [0x104a93a9], al
push ecx
push 0x104a93a9
push 0x104a93a1
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov ecx, dword [ebp - 0x5368]
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0
cmp dword [ebp - 0x18], 0x10
push 0
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [ebp - 0x536c]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
mov edi, eax
call fcn.10019dd0
mov esi, dword [0x1060b288]
push edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x24]
mov ecx, esi
call edx
mov ecx, dword [0x1060b288]
mov esi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
cmp esi, eax
jne 0x10045a14
cmp byte [0x104a0390], 0
mov esi, dword [ebp - 0x5368]
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x536c], eax
jne 0x10043e2b
mov edi, dword [0x104a03a4]
mov edx, edi
mov eax, dword [0x104a03a0]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104a0390], 1
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a0391]
xor al, cl
mov ecx, edx
mov byte [0x104a0391], al
mov eax, dword [0x104a03a0]
xor eax, 0x1de26cd4
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a0392]
xor al, cl
mov ecx, edx
mov byte [0x104a0392], al
mov eax, dword [0x104a03a0]
xor eax, 0x1de26cd7
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, byte [0x104a0393]
xor al, cl
mov byte [0x104a0393], al
mov eax, dword [0x104a03a0]
xor eax, 0x1de26cd6
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
xor edx, 0xd28f2c5
mov ecx, edx
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a0394]
xor al, cl
mov ecx, edx
mov byte [0x104a0394], al
mov eax, dword [0x104a03a0]
xor eax, 0x1de26cd1
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a0395]
xor al, cl
mov ecx, edx
mov byte [0x104a0395], al
mov eax, dword [0x104a03a0]
xor eax, 0x1de26cd0
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a0396]
xor al, cl
mov ecx, edx
mov byte [0x104a0396], al
mov eax, dword [0x104a03a0]
xor eax, 0x1de26cd3
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
shld ecx, eax, 0xd
shl eax, 0xd
xor esi, eax
xor edx, ecx
mov eax, esi
mov ecx, edx
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x5364], 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, byte [0x104a0397]
xor al, cl
mov ecx, edx
mov byte [0x104a0397], al
mov eax, dword [0x104a03a0]
xor eax, 0x1de26cd2
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov esi, dword [ebp - 0x5368]
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104a03a0]
shl eax, 0x11
xor edx, 0x1de26cdd
xor al, byte [0x104a0398]
xor al, cl
mov ecx, edi
mov byte [0x104a0398], 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 [0x104a0399]
xor al, dl
mov byte [0x104a0399], al
push ecx
push 0x104a0399
push 0x104a0391
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 1
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
mov ecx, esi
push 0
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [ebp - 0x536c]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x5370], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
cmp byte [0x104a6e90], 0
mov ecx, dword [esi]
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x536c], eax
jne 0x100440f1
mov edi, dword [0x104a6e9c]
mov edx, edi
mov eax, dword [0x104a6e98]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104a6e90], 1
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a6e91]
xor al, cl
mov ecx, edx
mov byte [0x104a6e91], al
mov eax, dword [0x104a6e98]
xor eax, 0x1de26cd4
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a6e92]
xor al, cl
mov ecx, edx
mov byte [0x104a6e92], al
mov eax, dword [0x104a6e98]
xor eax, 0x1de26cd7
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, byte [0x104a6e93]
xor al, cl
mov byte [0x104a6e93], al
mov eax, dword [0x104a6e98]
xor eax, 0x1de26cd6
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
xor edx, 0xd28f2c5
mov ecx, edx
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a6e94]
xor al, cl
mov ecx, edx
mov byte [0x104a6e94], al
mov eax, dword [0x104a6e98]
xor eax, 0x1de26cd1
mov dword [ebp - 0x5364], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], 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, byte [0x104a6e95]
xor al, cl
mov ecx, edx
mov byte [0x104a6e95], al
mov eax, dword [0x104a6e98]
xor eax, 0x1de26cd0
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104a6e98]
shl eax, 0x11
xor edx, 0x1de26cd3
xor al, byte [0x104a6e96]
xor al, cl
mov ecx, edi
mov byte [0x104a6e96], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, eax
xor edi, ecx
mov eax, edx
mov esi, dword [ebp - 0x5368]
mov ecx, edi
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 [0x104a6e97]
xor al, dl
mov byte [0x104a6e97], al
push ecx
push 0x104a6e97
push 0x104a6e91
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 2
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
mov ecx, esi
push 0
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [ebp - 0x536c]
mov esi, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x5374], esi
call fcn.10019dd0
cmp dword [ebp - 0x5370], 0
jne 0x10044149
test esi, esi
je 0x10045a14
mov ecx, dword [0x1060b288]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, dword [0x1060b288]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
lea ecx, [ebp - 0x54d0]
push ecx
push eax
mov ecx, esi
call edx
push dword [ebp - 0x5370]
mov ecx, 0x56
lea esi, [ebp - 0x54d0]
lea edi, [ebp - 0x1b8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, dword [0x1060b288]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
lea ecx, [ebp - 0x54d0]
push ecx
push eax
mov ecx, esi
call edx
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov dword [ebp - 4], 3
cmp byte [0x104934c0], 0
jne 0x1004438b
mov edi, dword [0x104934cc]
mov edx, edi
mov eax, dword [0x104934c8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104934c0], 1
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104934c1]
xor al, cl
mov ecx, edx
mov byte [0x104934c1], al
mov eax, dword [0x104934c8]
xor eax, 0x1de26cd4
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104934c2]
xor al, cl
mov ecx, edx
mov byte [0x104934c2], al
mov eax, dword [0x104934c8]
xor eax, 0x1de26cd7
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, byte [0x104934c3]
xor al, cl
mov byte [0x104934c3], al
mov eax, dword [0x104934c8]
xor eax, 0x1de26cd6
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
xor edx, 0xd28f2c5
mov ecx, edx
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104934c8]
shl eax, 0x11
xor edx, 0x1de26cd1
xor al, byte [0x104934c4]
xor al, cl
mov ecx, edi
mov byte [0x104934c4], 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 [0x104934c5]
xor al, dl
mov byte [0x104934c5], al
push ecx
push 0x104934c5
push 0x104934c1
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov byte [ebp - 4], 4
lea edx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
cmovae edx, dword [ebp - 0x2c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100443b2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.1002bf00
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10019dd0
lea ecx, [ebp - 0x1a8]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100443e0
sub ecx, edx
lea eax, [ebp - 0x1a8]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.1002bf00
cmp byte [0x104a0320], 0
mov eax, dword [ebp - 0x5368]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x536c], eax
jne 0x1004472a
mov edi, dword [0x104a0334]
mov edx, edi
mov eax, dword [0x104a0330]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104a0320], 1
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a0321]
xor al, cl
mov ecx, edx
mov byte [0x104a0321], al
mov eax, dword [0x104a0330]
xor eax, 0x1de26cd4
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a0322]
xor al, cl
mov ecx, edx
mov byte [0x104a0322], al
mov eax, dword [0x104a0330]
xor eax, 0x1de26cd7
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, byte [0x104a0323]
xor al, cl
mov byte [0x104a0323], al
mov eax, dword [0x104a0330]
xor eax, 0x1de26cd6
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
xor edx, 0xd28f2c5
mov ecx, edx
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a0324]
xor al, cl
mov ecx, edx
mov byte [0x104a0324], al
mov eax, dword [0x104a0330]
xor eax, 0x1de26cd1
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a0325]
xor al, cl
mov ecx, edx
mov byte [0x104a0325], al
mov eax, dword [0x104a0330]
xor eax, 0x1de26cd0
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a0326]
xor al, cl
mov ecx, edx
mov byte [0x104a0326], al
mov eax, dword [0x104a0330]
xor eax, 0x1de26cd3
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
shld ecx, eax, 0xd
shl eax, 0xd
xor esi, eax
xor edx, ecx
mov eax, esi
mov ecx, edx
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x5364], 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, byte [0x104a0327]
xor al, cl
mov ecx, edx
mov byte [0x104a0327], al
mov eax, dword [0x104a0330]
xor eax, 0x1de26cd2
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104a0330]
shl eax, 0x11
xor edx, 0x1de26cdd
xor al, byte [0x104a0328]
xor al, cl
mov ecx, edi
mov byte [0x104a0328], 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 [0x104a0329]
xor al, dl
mov byte [0x104a0329], al
push ecx
push 0x104a0329
push 0x104a0321
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov ecx, dword [ebp - 0x5368]
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 0x10
push 0
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [ebp - 0x536c]
mov esi, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x536c], esi
call fcn.10019dd0
test esi, esi
je 0x100449ec
cmp esi, 0xa
je 0x100449ec
cmp byte [0x104931d0], 0
jne 0x10044946
mov edi, dword [0x104931dc]
mov edx, edi
mov eax, dword [0x104931d8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104931d0], 1
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104931d1]
xor al, cl
mov ecx, edx
mov byte [0x104931d1], al
mov eax, dword [0x104931d8]
xor eax, 0x1de26cd4
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104931d2]
xor al, cl
mov ecx, edx
mov byte [0x104931d2], al
mov eax, dword [0x104931d8]
xor eax, 0x1de26cd7
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, byte [0x104931d3]
xor al, cl
mov byte [0x104931d3], al
mov eax, dword [0x104931d8]
xor eax, 0x1de26cd6
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
xor edx, 0xd28f2c5
mov ecx, edx
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 - 0x5364], esi
mov ecx, esi
mov esi, dword [ebp - 0x536c]
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104931d8]
shl eax, 0x11
xor edx, 0x1de26cd1
xor al, byte [0x104931d4]
xor al, cl
mov ecx, edi
mov byte [0x104931d4], 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 [0x104931d5]
xor al, dl
mov byte [0x104931d5], al
push ecx
push 0x104931d5
push 0x104931d1
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov byte [ebp - 4], 6
lea edx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
cmovae edx, dword [ebp - 0x2c]
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10044970
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.1002bf00
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10019dd0
mov edx, esi
lea ecx, [ebp - 0x2c]
call fcn.10042750
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100449a8
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.1002bf00
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x100449ec
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100449e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100449e2
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
cmp byte [0x1043a4c0], 0
jne 0x10044c04
mov edi, dword [0x1043a4cc]
mov edx, edi
mov eax, dword [0x1043a4c8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x1043a4c0], 1
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x1043a4c1]
xor al, cl
mov ecx, edx
mov byte [0x1043a4c1], al
mov eax, dword [0x1043a4c8]
xor eax, 0x1de26cd4
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x1043a4c2]
xor al, cl
mov ecx, edx
mov byte [0x1043a4c2], al
mov eax, dword [0x1043a4c8]
xor eax, 0x1de26cd7
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, byte [0x1043a4c3]
xor al, cl
mov byte [0x1043a4c3], al
mov eax, dword [0x1043a4c8]
xor eax, 0x1de26cd6
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
xor edx, 0xd28f2c5
mov ecx, edx
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 - 0x5364], 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, byte [0x1043a4c4]
xor al, cl
mov ecx, edx
mov byte [0x1043a4c4], al
mov eax, dword [0x1043a4c8]
xor eax, 0x1de26cd1
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x1043a4c8]
shl eax, 0x11
xor edx, 0x1de26cd0
xor al, byte [0x1043a4c5]
xor al, cl
mov ecx, edi
mov byte [0x1043a4c5], 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 [0x1043a4c6]
xor al, dl
mov byte [0x1043a4c6], al
push ecx
push 0x1043a4c6
push 0x1043a4c1
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov byte [ebp - 4], 8
lea edx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
cmovae edx, dword [ebp - 0x2c]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10044c30
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.1002bf00
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10019dd0
cmp byte [0x1043d480], 0
mov esi, dword [ebp - 0x5368]
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x5370], eax
jne 0x10044ce0
mov byte [0x1043d480], 1
xor edi, edi
xor edx, edx
mov eax, edi
xor eax, dword [0x1043d490]
xor edx, dword [0x1043d494]
xor eax, 0x1de26cd5
xor edx, 0xd28f2c5
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor dword [ebp - 0x5364], eax
mov ecx, edx
mov eax, dword [ebp - 0x5364]
shrd eax, ecx, 7
xor dword [ebp - 0x5364], eax
shr ecx, 7
xor edx, ecx
mov ecx, dword [ebp - 0x5364]
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [ebp - 0x5364]
xor cl, byte [edi + 0x1043d481]
mov byte [edi + 0x1043d481], cl
inc edi
cmp edi, 0xb
jb 0x10044c72
push ecx
push 0x1043d48b
push 0x1043d481
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
mov ecx, esi
push 0x1035264c
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [ebp - 0x5370]
mov edx, eax
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x10044d15
sub edx, edi
lea ecx, [ebp - 0x44]
push edx
push eax
call fcn.1002bf00
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10019dd0
cmp byte [0x10493380], 0
jne 0x10044f52
mov edi, dword [0x1049338c]
mov edx, edi
mov eax, dword [0x10493388]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x10493380], 1
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x10493381]
xor al, cl
mov ecx, edx
mov byte [0x10493381], al
mov eax, dword [0x10493388]
xor eax, 0x1de26cd4
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x10493382]
xor al, cl
mov ecx, edx
mov byte [0x10493382], al
mov eax, dword [0x10493388]
xor eax, 0x1de26cd7
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, byte [0x10493383]
xor al, cl
mov byte [0x10493383], al
mov eax, dword [0x10493388]
xor eax, 0x1de26cd6
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
xor edx, 0xd28f2c5
mov ecx, edx
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 - 0x5364], 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, byte [0x10493384]
xor al, cl
mov ecx, edx
mov byte [0x10493384], al
mov eax, dword [0x10493388]
xor eax, 0x1de26cd1
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov esi, dword [ebp - 0x5368]
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x10493388]
shl eax, 0x11
xor edx, 0x1de26cd0
xor al, byte [0x10493385]
xor al, cl
mov ecx, edi
mov byte [0x10493385], 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 [0x10493386]
xor al, dl
mov byte [0x10493386], al
push ecx
push 0x10493386
push 0x10493381
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
cmovae edx, dword [ebp - 0x2c]
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10044f80
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.1002bf00
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10019dd0
cmp byte [0x104a6b20], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x5370], eax
jne 0x10045220
mov edi, dword [0x104a6b2c]
mov edx, edi
mov eax, dword [0x104a6b28]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104a6b20], 1
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a6b21]
xor al, cl
mov ecx, edx
mov byte [0x104a6b21], al
mov eax, dword [0x104a6b28]
xor eax, 0x1de26cd4
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a6b22]
xor al, cl
mov ecx, edx
mov byte [0x104a6b22], al
mov eax, dword [0x104a6b28]
xor eax, 0x1de26cd7
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, byte [0x104a6b23]
xor al, cl
mov byte [0x104a6b23], al
mov eax, dword [0x104a6b28]
xor eax, 0x1de26cd6
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
xor edx, 0xd28f2c5
mov ecx, edx
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104a6b24]
xor al, cl
mov ecx, edx
mov byte [0x104a6b24], al
mov eax, dword [0x104a6b28]
xor eax, 0x1de26cd1
mov dword [ebp - 0x5364], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], 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, byte [0x104a6b25]
xor al, cl
mov ecx, edx
mov byte [0x104a6b25], al
mov eax, dword [0x104a6b28]
xor eax, 0x1de26cd0
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104a6b28]
shl eax, 0x11
xor edx, 0x1de26cd3
xor al, byte [0x104a6b26]
xor al, cl
mov ecx, edi
mov byte [0x104a6b26], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, eax
xor edi, ecx
mov eax, edx
mov esi, dword [ebp - 0x5368]
mov ecx, edi
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 [0x104a6b27]
xor al, dl
mov byte [0x104a6b27], al
push ecx
push 0x104a6b27
push 0x104a6b21
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
mov ecx, esi
push 0x1035264c
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [ebp - 0x5370]
mov edx, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x10045255
sub edx, esi
lea ecx, [ebp - 0x44]
push edx
push eax
call fcn.1002bf00
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10019dd0
cmp byte [0x104932a0], 0
jne 0x100455ec
mov edi, dword [0x104932b4]
mov edx, edi
mov eax, dword [0x104932b0]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104932a0], 1
mov dword [ebp - 0x5364], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104932a1]
xor al, cl
mov ecx, edx
mov byte [0x104932a1], al
mov eax, dword [0x104932b0]
xor eax, 0x1de26cd4
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104932a2]
xor al, cl
mov ecx, edx
mov byte [0x104932a2], al
mov eax, dword [0x104932b0]
xor eax, 0x1de26cd7
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, byte [0x104932a3]
xor al, cl
mov byte [0x104932a3], al
mov eax, dword [0x104932b0]
xor eax, 0x1de26cd6
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
xor edx, 0xd28f2c5
mov ecx, edx
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104932a4]
xor al, cl
mov ecx, edx
mov byte [0x104932a4], al
mov eax, dword [0x104932b0]
xor eax, 0x1de26cd1
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104932a5]
xor al, cl
mov ecx, edx
mov byte [0x104932a5], al
mov eax, dword [0x104932b0]
xor eax, 0x1de26cd0
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104932a6]
xor al, cl
mov ecx, edx
mov byte [0x104932a6], al
mov eax, dword [0x104932b0]
xor eax, 0x1de26cd3
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
shld ecx, eax, 0xd
shl eax, 0xd
xor esi, eax
xor edx, ecx
mov eax, esi
mov ecx, edx
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104932a7]
xor al, cl
mov ecx, edx
mov byte [0x104932a7], al
mov eax, dword [0x104932b0]
xor eax, 0x1de26cd2
mov dword [ebp - 0x5364], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x5364]
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 - 0x5364], 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, byte [0x104932a8]
xor al, cl
mov ecx, edx
mov byte [0x104932a8], al
mov eax, dword [0x104932b0]
xor eax, 0x1de26cdd
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104932b0]
shl eax, 0x11
xor edx, 0x1de26cdc
xor al, byte [0x104932a9]
xor al, cl
mov ecx, edi
mov byte [0x104932a9], 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 [0x104932aa]
xor al, dl
mov byte [0x104932aa], al
push ecx
push 0x104932aa
push 0x104932a1
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
cmovae edx, dword [ebp - 0x2c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10045613
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.1002bf00
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10019dd0
mov eax, dword [0x1060c1e0]
cmp eax, dword [0x1060c1e4]
je 0x100459c1
push eax
lea ecx, [ebp - 0x5360]
call fcn.10045ab0
mov byte [ebp - 4], 0xd
mov eax, dword [0x1060b274]
mov ecx, dword [0x1060b288]
push dword [ebp - 0x5374]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x1060b274]
push eax
call esi
cmp dword [ebp - 0x5360], eax
jne 0x10045943
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x5360]
call fcn.10179cf0
mov byte [ebp - 4], 0xe
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100456a3
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.1002bf00
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
call fcn.10019dd0
movss xmm4, dword [ebp - 0x1f8]
movss xmm3, dword [ebp - 0x1f4]
subss xmm4, dword [ebp - 0x204]
subss xmm3, dword [ebp - 0x200]
movss xmm0, dword [ebp - 0x1f0]
subss xmm0, dword [ebp - 0x1fc]
mov dword [ebp - 0x24], 0
movaps xmm1, xmm4
movss dword [ebp - 0x5368], xmm4
movaps xmm2, xmm3
mulss xmm1, xmm4
mulss xmm2, xmm3
movss dword [ebp - 0x5364], xmm0
addss xmm2, xmm1
movss dword [ebp - 0x5374], xmm2
sqrtss xmm0, dword [ebp - 0x5374]
movss dword [ebp - 0x24], xmm0
divss xmm3, xmm4
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
mulss xmm0, dword [0x1041efc8]
movss dword [ebp - 0x5370], xmm0
movss xmm0, dword [0x1041f198]
divss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [ebp - 0x5364]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
movss xmm1, dword [ebp - 0x5368]
movaps xmm2, xmm0
comiss xmm1, dword [0x1041ec1c]
movss xmm1, dword [ebp - 0x5370]
jb 0x10045781
addss xmm1, dword [0x1041f028]
mulss xmm1, dword [0x1041ec88]
xorps xmm2, xmmword [0x1041f480]
movaps xmm0, xmm1
xorps xmm1, xmm1
movss xmm1, xmm2
call fcn.10311bc0
movaps xmm4, xmm0
lea eax, [ebp - 0x52b0]
movss xmm0, dword [0x1041f0e4]
movaps xmm5, xmm4
shufps xmm5, xmm4, 0xe
movaps xmm1, xmm4
movaps xmm3, xmm5
shufps xmm1, xmm4, 1
shufps xmm3, xmm5, 1
xor edx, edx
movaps xmm2, xmm3
mulss xmm5, xmm0
push eax
mulss xmm2, xmm1
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
mulss xmm3, xmm4
mulss xmm2, xmm0
mulss xmm3, xmm0
movss xmm0, dword [ebp - 0x1fc]
addss xmm2, dword [ebp - 0x204]
addss xmm3, dword [ebp - 0x200]
subss xmm0, xmm5
unpcklps xmm2, xmm3
movq qword [ecx], xmm2
movss dword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
movq xmm0, qword [ebp - 0x1f8]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebp - 0x1f0]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x52e0]
call fcn.10174280
add esp, 0x1c
cmp dword [ebp - 0x52f0], 0
jne 0x10045931
cmp dword [ebp - 0x536c], 1
je 0x10045931
test al, al
je 0x10045931
mov ecx, dword [ebp - 0x5360]
mov esi, dword [0x1060b5e0]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
inc dword [esi + eax*4 + 0x7640]
cmp byte [0x104a6bb0], 0
jne 0x100458fa
mov byte [0x104a6bb0], 1
xor edi, edi
nop dword [eax + eax]
xor edx, edx
mov eax, edi
xor eax, dword [0x104a6bc8]
xor edx, dword [0x104a6bcc]
xor eax, 0x1de26cd5
xor edx, 0xd28f2c5
mov dword [ebp - 0x5364], eax
mov esi, dword [ebp - 0x5364]
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 - 0x5364], esi
mov ecx, esi
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [edi + 0x104a6bb1]
xor cl, byte [ebp - 0x5364]
mov byte [edi + 0x104a6bb1], cl
inc edi
cmp edi, 0x13
jb 0x10045890
push ecx
push 0x104a6bc3
push 0x104a6bb1
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
lea ecx, [ebp - 0x44]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.1006be30
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
call fcn.10019dd0
push dword [0x1060c1e0]
lea eax, [ebp - 0x5374]
push eax
call fcn.100697f0
mov ecx, dword [0x1060b5e0]
lea ecx, [ecx + 0xa9c]
call fcn.10045a40
mov ecx, dword [ebp - 0x5360]
mov esi, eax
lea eax, [ebp - 0x5c]
push eax
call fcn.100ca9f0
push eax
mov ecx, esi
call fcn.10019e20
lea ecx, [ebp - 0x5c]
call fcn.10019dd0
mov eax, dword [ebp - 0x1ec]
lea ecx, [esi + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0x52f0]
mov dword [esi + 0x18], eax
lea eax, [ebp - 0x5344]
cmp ecx, eax
je 0x100459ae
cmp dword [ebp - 0x5330], 0x10
push dword [ebp - 0x5334]
cmovae eax, dword [ebp - 0x5344]
push eax
call fcn.100325b0
lea ecx, [ebp - 0x5360]
mov byte [esi + 0x39], 0
mov byte [ebp - 4], 3
call fcn.10046120
mov esi, dword [0x1060f4fa]
lea eax, [ebp - 0x44]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.1002c0b0
push esi
call fcn.100557a0
mov ecx, dword [ebp - 0x30]
add esp, 0x1c
cmp ecx, 0x10
jb 0x10045a14
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10045a0a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10045a0a
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
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