Function at 0x100eb364
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
mov ebx, dword [0x101c0bb0]
xor edx, edx
push esi
push edi
mov ecx, ebx
mov dword [ebp - 0x20], ebx
call fcn.100ec840
mov esi, dword [0x101c0bb0]
cmp byte [esi + 0xb3], 0
je 0x100ea687
test byte [esi + 0xc], 2
jne 0x100ea687
mov byte [esi + 0xb3], 0
cmp byte [esi + 0x2eb9], 0
jne 0x100ea6e2
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x100ea6db
push ecx
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
call fcn.100f1190
mov edi, eax
add esp, 8
test edi, edi
je 0x100ea6db
mov edx, dword [ebp - 4]
mov ecx, edi
call fcn.100da360
mov ecx, dword [0x101c0bb0]
test ecx, ecx
je 0x100ea6cb
dec dword [ecx + 0x370]
push dword [0x101c0be4]
push edi
call dword [0x101bd570]
add esp, 8
mov byte [esi + 0x2eb9], 1
movss xmm0, dword [esi + 0x2ebc]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100ea768
subss xmm0, dword [esi + 0x18]
comiss xmm1, xmm0
movss dword [esi + 0x2ebc], xmm0
jb 0x100ea768
mov edi, dword [esi + 0x20]
test edi, edi
je 0x100ea757
mov eax, dword [0x101c0bb0]
lea ecx, [ebp - 4]
mov dword [ebp - 4], 0
mov dword [eax + 0x2ebc], 0
call fcn.100da230
mov edx, 0x101760d8
mov dword [ebp - 0x10], eax
mov ecx, edi
call fcn.100f1350
mov edi, eax
test edi, edi
je 0x100ea75e
push edi
push dword [ebp - 4]
push 1
push dword [ebp - 0x10]
call fcn.10085a78
push edi
call fcn.100853ad
add esp, 0x14
jmp 0x100ea75e
mov byte [esi + 0x358], 1
mov dword [esi + 0x2ebc], 0
movss xmm1, dword [ebx + 0x18]
inc dword [ebx + 0x1a10]
cvtps2pd xmm0, xmm1
mov byte [ebx + 0x1a1c], 1
mov dword [ebx + 0x2e88], 0
mov dword [ebx + 0x1a68], 0
addsd xmm0, qword [ebx + 0x1a08]
movsd qword [ebx + 0x1a08], xmm0
mov ecx, dword [ebx + 0x2ea0]
test ecx, ecx
jns 0x100ea7cc
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x2e9c]
call fcn.100208e0
movss xmm1, dword [ebx + 0x18]
mov dword [ebx + 0x2e9c], 0
movaps xmm0, xmm1
mov eax, dword [ebx + 0x3120]
mov ecx, 0x78
movss xmm2, dword [0x101afc38]
subss xmm0, dword [ebx + eax*4 + 0x2f40]
addss xmm0, dword [ebx + 0x3124]
movss dword [ebx + 0x3124], xmm0
movss dword [ebx + eax*4 + 0x2f40], xmm1
mov eax, dword [ebx + 0x3120]
inc eax
movss xmm1, dword [ebx + 0x3124]
cdq
idiv ecx
comiss xmm1, dword [0x101afb04]
mov dword [ebx + 0x3120], edx
movss xmm0, dword [0x101afe18]
movss dword [ebp - 4], xmm0
jbe 0x100ea84b
divss xmm1, dword [0x101afd7c]
movaps xmm0, xmm2
divss xmm0, xmm1
mov eax, dword [ebx + 0x98]
movss dword [ebx + 0x35c], xmm0
mov byte [eax], 1
mov eax, dword [0x101c0bb0]
mov ecx, dword [eax + 0xa4]
test ecx, ecx
jne 0x100ea876
mov eax, dword [eax + 0x98]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax]
call fcn.100e3270
movss xmm0, dword [ebx + 0x10]
mov edi, 0x200
mov eax, dword [ebx + 0x15d4]
movss xmm1, dword [ebx + 0x15d8]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [ebx + 0x14]
movss dword [ebp - 0x10], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
movups xmm0, xmmword [ebp - 0x1c]
mov dword [ebx + 0x1948], eax
movups xmmword [ebx + 0x1950], xmm0
movss xmm0, dword [ebx + 0x194c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100ea949
movss dword [ebx + 0x194c], xmm1
xor esi, esi
nop dword [eax]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
addss xmm1, xmm2
movaps xmm0, xmm1
subss xmm0, dword [ebx + 0x194c]
divss xmm0, xmm1
cvtps2pd xmm0, xmm0
call fcn.1015fa20
movss xmm1, dword [0x101afce0]
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
cvttss2si edx, xmm1
cmp edx, 0xc
jge 0x100ea922
mov edx, 0xc
jmp 0x100ea927
cmp edx, edi
cmovg edx, edi
movss xmm2, dword [0x101afc38]
mov ecx, 0xff
cmp edx, ecx
movzx eax, dl
cmovl ecx, eax
mov byte [ebx + esi + 0x19c4], cl
inc esi
cmp esi, 0x40
jl 0x100ea8e0
xor edx, edx
mov dword [ebx + 0x1960], 0
cmp byte [ebx + 0x15d0], dl
je 0x100ea96c
mov dword [ebx + 0x1960], 1
mov edx, 1
cmp byte [ebx + 0x15d1], 0
mov ecx, edx
je 0x100ea98f
mov eax, dword [ebx + 0x192c]
mov eax, dword [eax + 0x30]
test byte [eax + 4], 4
jne 0x100ea98f
or ecx, 2
mov dword [ebx + 0x1960], ecx
cmp byte [ebx + 0x15d2], 0
je 0x100ea9a1
or ecx, 4
mov dword [ebx + 0x1960], ecx
test byte [ebx + 0xc], 8
je 0x100ea9b0
or ecx, 8
mov dword [ebx + 0x1960], ecx
lea edi, [ebx + 0x1d48]
mov ecx, edi
call fcn.10104c50
mov eax, dword [ebx + 0x98]
lea esi, [edi + 0x48]
mov edx, dword [esi]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x10], eax
cmp edx, ecx
jne 0x100eaa01
lea edi, [edx + 1]
test ecx, ecx
je 0x100ea9e7
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x100ea9ec
mov eax, 8
cmp eax, edi
mov ecx, esi
cmovg edi, eax
push edi
call fcn.100233d0
mov edx, dword [esi]
lea edi, [ebx + 0x1d48]
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + edx*4], ecx
inc dword [esi]
mov dword [edi + 0x70], ecx
mov ecx, edi
call fcn.100fb2a0
mov ecx, edi
call fcn.10106640
lea esi, [ebx + 0x1dd4]
mov ecx, esi
call fcn.10104c50
mov eax, dword [ebx + 0x98]
mov ecx, dword [esi + 0x48]
mov edi, dword [esi + 0x4c]
mov edx, dword [eax + 8]
mov dword [ebp - 0x10], edx
cmp ecx, edi
jne 0x100eaa69
inc ecx
test edi, edi
je 0x100eaa50
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100eaa55
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x48]
call fcn.100233d0
mov ecx, dword [esi + 0x48]
mov edx, dword [ebp - 0x10]
mov eax, dword [esi + 0x50]
mov dword [eax + ecx*4], edx
lea ecx, [ebx + 0x1dd4]
inc dword [esi + 0x48]
mov dword [ebx + 0x1e44], edx
call fcn.100fb2a0
lea ecx, [ebx + 0x1dd4]
call fcn.10106640
mov esi, dword [0x101c0bb0]
mov dword [ebx + 0x1d24], 0
mov eax, dword [ebx + 0x1d24]
mov dword [ebx + 0x1d28], 0
mov ecx, dword [ebx + 0x1d28]
mov byte [ebx + 0x1d00], 0
mov dword [ebx + 0x1d04], 0
mov dword [ebx + 0x1d0c], 0
mov dword [ebx + 0x1d10], 0
mov dword [ebx + 0x1d08], 0
mov dword [ebx + 0x1d1c], eax
mov dword [ebx + 0x1d20], ecx
mov dword [ebx + 0x1d14], eax
mov dword [ebx + 0x1d18], ecx
cmp byte [ebx + 0x1e64], 0
je 0x100eab2f
mov eax, dword [ebx + 0x1e7c]
cmp eax, dword [ebx + 0x1aa4]
jne 0x100eab2f
cmp dword [esi + 0x1aa4], eax
jne 0x100eab20
mov dword [esi + 0x1aa8], eax
cmp dword [esi + 0x1adc], eax
jne 0x100eab2f
mov byte [esi + 0x1ae0], 1
cmp dword [ebx + 0x1a94], 0
mov eax, dword [ebx + 0x1a90]
jne 0x100eab4a
mov dword [ebx + 0x1a9c], 0
jmp 0x100eab58
mov ecx, eax
test eax, eax
je 0x100eab64
cmp dword [ebx + 0x1aa4], eax
jne 0x100eab64
mov dword [ebx + 0x1aa0], 0
mov ecx, eax
movss xmm2, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1aa4]
test ecx, ecx
je 0x100eab9e
movss xmm0, dword [ebx + 0x1a9c]
addss xmm0, xmm2
movss dword [ebx + 0x1a9c], xmm0
cmp eax, ecx
je 0x100eab9e
movaps xmm0, xmm2
addss xmm0, dword [ebx + 0x1aa0]
movss dword [ebx + 0x1aa0], xmm0
movaps xmm1, xmm2
mov dword [ebx + 0x1a94], ecx
mov ecx, eax
mov dword [ebx + 0x1a90], 0
mov word [ebx + 0x1a98], 0
cmp dword [ebx + 0x1aa8], eax
je 0x100eabe0
cmp dword [ebx + 0x1adc], eax
jne 0x100eabe0
test eax, eax
je 0x100eabe0
call fcn.100ed160
mov ecx, dword [ebx + 0x1aa4]
movss xmm1, dword [ebx + 0x18]
test ecx, ecx
je 0x100eabf7
movaps xmm0, xmm1
addss xmm0, dword [ebx + 0x1aac]
movss dword [ebx + 0x1aac], xmm0
mov eax, dword [ebx + 0x1ad0]
addss xmm1, dword [ebx + 0x1aec]
mov dword [ebx + 0x1ae4], eax
mov al, byte [ebx + 0x1ab4]
mov byte [ebx + 0x1ae1], al
mov eax, dword [ebx + 0x2e48]
movss dword [ebx + 0x1aec], xmm1
mov dword [ebx + 0x1adc], ecx
mov dword [ebx + 0x1aa8], 0
mov byte [ebx + 0x1ab5], 0
mov byte [ebx + 0x1ae0], 0
mov byte [ebx + 0x1ab0], 0
test eax, eax
je 0x100eac5c
cmp ecx, eax
je 0x100eac5c
mov dword [ebx + 0x2e48], 0
test ecx, ecx
jne 0x100eac78
mov dword [ebx + 0x1ab8], ecx
mov dword [ebx + 0x1abc], ecx
mov dword [ebx + 0x1ac0], ecx
mov dword [ebx + 0x1ac4], ecx
mov eax, dword [ebx + 0x1ec8]
lea edi, [ebx + 0xc58]
mov dword [ebx + 0x1ecc], eax
xor eax, eax
mov dword [ebx + 0x1ec8], 0
mov dword [ebx + 0x1ec4], 0x7f7fffff
mov word [ebx + 0x1e65], 0
mov dword [ebx + 0x1ed4], 0
cmp byte [esi + 0xfc], al
movss xmm2, dword [0x101afe40]
setne al
mov ecx, eax
or ecx, 2
cmp byte [esi + 0xfd], 0
cmove ecx, eax
mov edx, ecx
or edx, 4
cmp byte [esi + 0xfe], 0
cmove edx, ecx
mov ecx, 0x200
mov eax, edx
or eax, 8
cmp byte [esi + 0xff], 0
cmove eax, edx
lea edx, [ebx + 0x458]
mov esi, edx
mov dword [ebx + 0x37c], eax
rep movsd dword es:[edi], dword [esi]
xor eax, eax
nop dword [eax + eax]
cmp byte [ebx + eax + 0x100], 0
je 0x100ead31
movss xmm1, dword [edx]
xorps xmm0, xmm0
comiss xmm0, xmm1
ja 0x100ead34
movss xmm0, dword [ebx + 0x18]
addss xmm0, xmm1
jmp 0x100ead34
movaps xmm0, xmm2
movss dword [edx], xmm0
inc eax
add edx, 4
cmp eax, 0x200
jl 0x100ead10
call fcn.100dcb60
call fcn.100ec020
call fcn.100eb8d0
mov esi, dword [0x101c0bb0]
mov ecx, dword [esi + 0x1a7c]
test ecx, ecx
je 0x100eae3d
mov eax, dword [esi + 0x1aa4]
mov dword [esi + 0x1aa8], eax
cmp dword [esi + 0x1adc], eax
jne 0x100ead81
mov byte [esi + 0x1ae0], 1
cmp byte [esi + 0xec], 0
mov edi, dword [ecx + 0x318]
je 0x100eae2c
movss xmm2, dword [esi + 0xe4]
movss xmm0, dword [0x101afe88]
comiss xmm2, xmm0
movss xmm1, dword [esi + 0xe8]
jb 0x100eae2c
comiss xmm1, xmm0
jb 0x100eae2c
subss xmm2, dword [esi + 0x1ac8]
movss xmm0, dword [edi + 0xc]
subss xmm1, dword [esi + 0x1acc]
ucomiss xmm0, xmm2
movss dword [ebp - 0x14], xmm2
movss dword [ebp - 0x10], xmm1
lahf
test ah, 0x44
jp 0x100eadec
movss xmm0, dword [edi + 0x10]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100eae1f
test dword [edi + 8], 0x100
jne 0x100eae0a
xorps xmm0, xmm0
comiss xmm0, dword [esi + 0x2ebc]
jb 0x100eae0a
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x2ebc], eax
push 1
lea edx, [ebp - 0x14]
mov ecx, edi
call fcn.100e2c20
mov ecx, dword [esi + 0x1a7c]
add esp, 4
call fcn.100e33b0
mov esi, dword [0x101c0bb0]
jmp 0x100eae75
call fcn.100ed160
mov dword [esi + 0x1a7c], 0
jmp 0x100eae75
mov ecx, dword [esi + 0x1ad0]
test ecx, ecx
je 0x100eae75
mov eax, dword [esi + 0x1aa4]
cmp dword [ecx + 0x48], eax
jne 0x100eae75
mov dword [esi + 0x1aa8], eax
cmp dword [esi + 0x1adc], eax
jne 0x100eae67
mov byte [esi + 0x1ae0], 1
cmp byte [esi + 0xec], 0
jne 0x100eae75
call fcn.100ed160
mov edx, dword [esi + 0x1bac]
sub edx, 1
js 0x100eaeab
mov eax, dword [esi + 0x1bb4]
lea ecx, [edx + edx*8]
lea eax, [eax + ecx*4]
add eax, 4
nop
mov ecx, dword [eax]
test ecx, ecx
je 0x100eaea3
test dword [ecx + 8], 0x8000000
jne 0x100eaf6d
sub eax, 0x24
sub edx, 1
jns 0x100eae90
cmp dword [ebx + 0x1ccc], 0
xorps xmm6, xmm6
je 0x100eaec8
movss xmm0, dword [ebx + 0x1cdc]
comiss xmm0, xmm6
ja 0x100eaf70
movss xmm0, dword [ebx + 0x18]
mulss xmm0, dword [0x101afd04]
movss xmm1, dword [ebx + 0x1d44]
subss xmm1, xmm0
maxss xmm1, xmm6
movss dword [ebx + 0x1d44], xmm1
mov dword [ebx + 0x1e60], 0
mov dword [ebx + 0x3130], 0xffffffff
mov dword [ebx + 0x312c], 0xffffffff
mov dword [ebx + 0x3128], 0xffffffff
mov dword [ebx + 0x2ea8], 0x3f800000
mov dword [ebx + 0x2eac], 0x3f800000
call fcn.100ebbf0
mov esi, dword [0x101c0bb0]
mov edi, dword [esi + 0x1bc4]
test edi, edi
je 0x100eaf92
cmp byte [edi + 0x82], 0
je 0x100eaf92
test dword [edi + 8], 0x40000
jne 0x100eaf92
cmp byte [esi + 0xfc], 0
jne 0x100eaf92
mov ecx, dword [esi + 0x34]
test ecx, ecx
js 0x100eaf92
call fcn.100e8a40
test al, al
je 0x100eaf92
mov al, 1
jmp 0x100eaf94
xorps xmm6, xmm6
movss xmm1, dword [ebx + 0x18]
mulss xmm1, dword [0x101afcdc]
addss xmm1, dword [ebx + 0x1d44]
minss xmm1, dword [0x101afc38]
jmp 0x100eaee5
xor al, al
cmp dword [esi + 0x1aa4], 0
mov byte [esi + 0x1cfc], al
jne 0x100eaff3
test al, al
je 0x100eaff3
cmp dword [esi + 0x1bc8], 0
mov dword [esi + 0x1ce8], edi
mov dword [esi + 0x1cf4], 0x7fffffff
je 0x100eafe2
mov ecx, dword [esi + 0x1c10]
cmp ecx, 0x7fffffff
je 0x100eafe2
xor edx, edx
mov eax, 2
cmp byte [esi + 0xfd], dl
cmovne eax, edx
add eax, ecx
jmp 0x100eafed
movzx eax, byte [esi + 0xfd]
neg eax
sbb eax, eax
mov dword [esi + 0x1cf8], eax
mov edi, dword [esi + 0x1ce8]
mov dword [esi + 0x1ce4], 0
mov dword [esi + 0x1cf0], 0x7fffffff
mov dword [esi + 0x1cec], 0x7fffffff
test edi, edi
je 0x100eb087
mov eax, dword [esi + 0x1cf4]
mov dword [esi + 0x1ce4], edi
cmp eax, 0x7fffffff
je 0x100eb045
mov ecx, dword [edi + 0x1a4]
cmp ecx, 0xffffffff
je 0x100eb045
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [esi + 0x1cec], edx
mov eax, dword [esi + 0x1cf8]
cmp eax, 0x7fffffff
je 0x100eb069
mov ecx, dword [edi + 0x1a8]
cmp ecx, 0xffffffff
je 0x100eb069
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [esi + 0x1cf0], edx
mov dword [esi + 0x1ce8], 0
mov dword [esi + 0x1cf8], 0x7fffffff
mov dword [esi + 0x1cf4], 0x7fffffff
mov dword [esi + 0x1c10], 0x7fffffff
cmp byte [ebx + 0x1a1f], 0
jne 0x100eb0be
movss xmm0, dword [ebx + 0xb8]
comiss xmm6, xmm0
ja 0x100eb0be
movsd xmm1, qword [ebx + 0x1a08]
cvtpd2ps xmm1, xmm1
subss xmm1, xmm0
movss dword [ebp - 4], xmm1
jmp 0x100eb0c6
movss xmm1, dword [0x101afe18]
xor edi, edi
cmp dword [ebx + 0x1a2c], edi
je 0x100eb277
mov eax, dword [ebx + 0x1a34]
xor ecx, ecx
mov esi, dword [eax + edi*4]
mov al, byte [esi + 0x82]
mov byte [esi + 0x83], al
mov word [esi + 0x8e], cx
mov byte [esi + 0x82], cl
mov byte [esi + 0x84], cl
test al, al
jne 0x100eb265
cmp byte [esi + 0x358], cl
jne 0x100eb265
comiss xmm1, dword [esi + 0x25c]
jbe 0x100eb265
mov ecx, dword [esi + 0x284]
mov byte [esi + 0x358], 1
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x350], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x354], eax
mov ecx, dword [esi + 0xcc]
test ecx, ecx
je 0x100eb185
mov eax, dword [0x101c0bb0]
mov dword [esi + 0xc8], 0
mov dword [esi + 0xc4], 0
test eax, eax
je 0x100eb16b
dec dword [eax + 0x370]
push dword [0x101c0be4]
push ecx
call dword [0x101bd570]
add esp, 8
mov dword [esi + 0xcc], 0
mov ecx, dword [esi + 0x284]
call fcn.10104ac0
mov ecx, dword [esi + 0x18c]
test ecx, ecx
je 0x100eb1d7
mov eax, dword [0x101c0bb0]
mov dword [esi + 0x188], 0
mov dword [esi + 0x184], 0
test eax, eax
je 0x100eb1bd
dec dword [eax + 0x370]
push dword [0x101c0be4]
push ecx
call dword [0x101bd570]
add esp, 8
mov dword [esi + 0x18c], 0
mov ecx, dword [esi + 0x1c0]
test ecx, ecx
je 0x100eb21e
mov eax, dword [0x101c0bb0]
mov dword [esi + 0x1bc], 0
mov dword [esi + 0x1b8], 0
test eax, eax
je 0x100eb204
dec dword [eax + 0x370]
push dword [0x101c0be4]
push ecx
call dword [0x101bd570]
add esp, 8
mov dword [esi + 0x1c0], 0
mov ecx, dword [esi + 0x1cc]
test ecx, ecx
je 0x100eb265
mov eax, dword [0x101c0bb0]
mov dword [esi + 0x1c8], 0
mov dword [esi + 0x1c4], 0
test eax, eax
je 0x100eb24b
dec dword [eax + 0x370]
push dword [0x101c0be4]
push ecx
call dword [0x101bd570]
add esp, 8
mov dword [esi + 0x1cc], 0
movss xmm1, dword [ebp - 4]
inc edi
cmp edi, dword [ebx + 0x1a2c]
jne 0x100eb0d4
xor edi, edi
mov dword [ebp - 0xc], edi
cmp dword [ebx + 0x1f20], edi
jle 0x100eb3e2
xor ecx, ecx
xorps xmm1, xmm1
mov dword [ebp - 0x10], ecx
mov eax, dword [ebx + 0x1f28]
movss xmm0, dword [eax + edi*4]
comiss xmm0, xmm1
jb 0x100eb3c9
movss xmm2, dword [ebp - 4]
comiss xmm2, xmm0
jbe 0x100eb3c9
mov esi, dword [ebx + 0x1f00]
mov eax, dword [0x101c0bb0]
add esi, ecx
mov dword [ebp - 8], eax
lea ecx, [esi + 0x194]
call fcn.10104970
mov ecx, dword [esi + 0x1bc]
test ecx, ecx
je 0x100eb314
mov eax, dword [0x101c0bb0]
mov dword [esi + 0x1b8], 0
mov dword [esi + 0x1b4], 0
test eax, eax
je 0x100eb2fa
dec dword [eax + 0x370]
push dword [0x101c0be4]
push ecx
call dword [0x101bd570]
add esp, 8
mov dword [esi + 0x1bc], 0
mov dword [esi + 0x1c0], 0
mov byte [esi + 0x1e6], 1
mov ecx, dword [esi + 0x190]
test ecx, ecx
je 0x100eb36c
mov eax, dword [0x101c0bb0]
mov dword [esi + 0x18c], 0
mov dword [esi + 0x188], 0
test eax, eax
je 0x100eb352
dec dword [eax + 0x370]
push dword [0x101c0be4]
push ecx
call dword [0x101bd570]
add esp, 8
mov dword [esi + 0x190], 0
xor ecx, ecx
mov byte [esi + 0x1ef], 1
cmp dword [esi + 0x54], ecx
jle 0x100eb397
xor edx, edx
or edi, 0xffffffff
nop
mov eax, dword [esi + 0xc]
lea edx, [edx + 0x6c]
inc ecx
mov word [edx + eax - 0x18], di
cmp ecx, dword [esi + 0x54]
jl 0x100eb380
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
xorps xmm1, xmm1
sub esi, dword [eax + 0x1f00]
mov eax, 0x82082083
imul esi
mov eax, dword [ebp - 8]
add edx, esi
sar edx, 8
mov ecx, edx
mov eax, dword [eax + 0x1f28]
shr ecx, 0x1f
add ecx, edx
mov dword [eax + ecx*4], 0xbf800000
mov ecx, dword [ebp - 0x10]
inc edi
add ecx, 0x1f8
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ecx
cmp edi, dword [ebx + 0x1f20]
jl 0x100eb290
cmp byte [ebx + 0x1a1f], 0
je 0x100eb483
mov esi, dword [0x101c0bb0]
mov eax, dword [esi + 0x1b9c]
test eax, eax
je 0x100eb437
mov dword [esi + 0x1b98], 0
mov dword [esi + 0x1b94], 0
test esi, esi
je 0x100eb41d
dec dword [esi + 0x370]
push dword [0x101c0be4]
push eax
call dword [0x101bd570]
add esp, 8
mov dword [esi + 0x1b9c], 0
mov ecx, dword [esi + 0x1ba8]
test ecx, ecx
je 0x100eb47e
mov eax, dword [0x101c0bb0]
mov dword [esi + 0x1ba4], 0
mov dword [esi + 0x1ba0], 0
test eax, eax
je 0x100eb464
dec dword [eax + 0x370]
push dword [0x101c0be4]
push ecx
call dword [0x101bd570]
add esp, 8
mov dword [esi + 0x1ba8], 0
call fcn.10111310
mov eax, dword [ebx + 0x1bc4]
mov byte [ebx + 0x1a1f], 0
test eax, eax
je 0x100eb4a4
cmp byte [eax + 0x83], 0
jne 0x100eb4a4
xor ecx, ecx
call fcn.100e3310
mov ecx, dword [ebx + 0x1a54]
test ecx, ecx
jns 0x100eb4ca
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x1a50]
call fcn.1001eb10
mov dword [ebx + 0x1a50], 0
mov ecx, dword [ebx + 0x1bbc]
test ecx, ecx
jns 0x100eb4fa
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x1bb8]
call fcn.100201a0
mov dword [ebx + 0x1bb8], 0
mov ecx, dword [ebx + 0x1b98]
mov eax, ecx
mov esi, ecx
test ecx, ecx
jns 0x100eb5ad
cdq
xor edi, edi
sub eax, edx
sar eax, 1
add eax, ecx
test eax, eax
cmovg edi, eax
mov eax, ecx
cmp edi, ecx
jle 0x100eb5ad
mov eax, dword [0x101c0bb0]
test eax, eax
je 0x100eb53d
inc dword [eax + 0x370]
push dword [0x101c0be4]
lea eax, [edi*4]
push eax
call dword [0x101bd508]
mov edx, dword [ebx + 0x1b9c]
add esp, 8
mov esi, eax
test edx, edx
je 0x100eb59d
mov ecx, dword [ebx + 0x1b94]
shl ecx, 2
push ecx
push edx
push esi
call fcn.10078d00
mov ecx, dword [ebx + 0x1b9c]
add esp, 0xc
test ecx, ecx
je 0x100eb58d
mov eax, dword [0x101c0bb0]
test eax, eax
je 0x100eb58d
dec dword [eax + 0x370]
push dword [0x101c0be4]
push ecx
call dword [0x101bd570]
add esp, 8
mov dword [ebx + 0x1b9c], esi
mov eax, edi
mov dword [ebx + 0x1b98], edi
mov esi, edi
mov dword [ebx + 0x1b94], 0
test eax, eax
jne 0x100eb660
test esi, esi
je 0x100eb5ce
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
jmp 0x100eb5d3
mov eax, 8
mov edi, 1
cmp eax, edi
cmovg edi, eax
cmp edi, esi
jle 0x100eb660
mov eax, dword [0x101c0bb0]
test eax, eax
je 0x100eb5f4
inc dword [eax + 0x370]
push dword [0x101c0be4]
lea eax, [edi*4]
push eax
call dword [0x101bd508]
mov esi, eax
add esp, 8
mov eax, dword [ebx + 0x1b9c]
test eax, eax
je 0x100eb654
mov ecx, dword [ebx + 0x1b94]
shl ecx, 2
push ecx
push eax
push esi
call fcn.10078d00
mov ecx, dword [ebx + 0x1b9c]
add esp, 0xc
test ecx, ecx
je 0x100eb644
mov eax, dword [0x101c0bb0]
test eax, eax
je 0x100eb644
dec dword [eax + 0x370]
push dword [0x101c0be4]
push ecx
call dword [0x101bd570]
add esp, 8
mov dword [ebx + 0x1b9c], esi
mov dword [ebx + 0x1b98], edi
mov ecx, dword [ebx + 0x1b94]
mov eax, dword [ebx + 0x1b9c]
mov dword [eax + ecx*4], 0
inc dword [ebx + 0x1b94]
mov ecx, dword [ebx + 0x1ba4]
test ecx, ecx
jns 0x100eb71c
mov eax, ecx
xor esi, esi
cdq
sub eax, edx
sar eax, 1
add eax, ecx
test eax, eax
cmovg esi, eax
cmp esi, ecx
jle 0x100eb71c
mov eax, dword [0x101c0bb0]
test eax, eax
je 0x100eb6ae
inc dword [eax + 0x370]
push dword [0x101c0be4]
lea eax, [esi + esi*2]
shl eax, 4
push eax
call dword [0x101bd508]
mov edi, eax
add esp, 8
mov eax, dword [ebx + 0x1ba8]
test eax, eax
je 0x100eb710
mov ecx, dword [ebx + 0x1ba0]
lea ecx, [ecx + ecx*2]
shl ecx, 4
push ecx
push eax
push edi
call fcn.10078d00
mov ecx, dword [ebx + 0x1ba8]
add esp, 0xc
test ecx, ecx
je 0x100eb700
mov eax, dword [0x101c0bb0]
test eax, eax
je 0x100eb700
dec dword [eax + 0x370]
push dword [0x101c0be4]
push ecx
call dword [0x101bd570]
add esp, 8
mov dword [ebx + 0x1ba8], edi
mov dword [ebx + 0x1ba4], esi
mov dword [ebx + 0x1ba0], 0
xor dl, dl
mov ecx, dword [ebx + 0x1bc4]
call fcn.100dfb20
mov esi, dword [0x101c0bb0]
cmp byte [esi + 0x2f28], 0
mov dword [esi + 0x2f2c], 0
je 0x100eb7fe
mov ecx, dword [esi + 0x6c]
mov edi, dword [esi + 0x1a94]
mov dword [esi + 0x1e60], 7
test ecx, ecx
js 0x100eb777
call fcn.100e8a40
test al, al
je 0x100eb777
mov byte [esi + 0x2f28], 0
movss xmm0, dword [esi + 0x3f4]
ucomiss xmm0, dword [0x101afb04]
lahf
test ah, 0x44
jp 0x100eb79d
test edi, edi
je 0x100eb79d
mov dword [esi + 0x2f2c], edi
mov byte [esi + 0x2f28], 0
or dword [esi + 0x1af0], 0x40
xor edx, edx
mov dword [esi + 0x1b44], 0x3f19999a
call fcn.100dfef0
push edi
push str.HoveredId:_0x_08X
call fcn.1012f2a0
push str.Press_ESC_to_abort_picking.
call fcn.1012f2a0
add esp, 0xc
xor ecx, ecx
mov eax, 0x10
test edi, edi
cmove ecx, eax
mov eax, dword [0x101c0bb0]
add eax, 0x15dc
add eax, ecx
push str.Click_to_break_in_debugger_
push eax
call fcn.1012d910
add esp, 8
call fcn.100e3690
mov esi, dword [0x101c0bb0]
mov byte [ebx + 0x1a1d], 1
xor edx, edx
or dword [esi + 0x1af0], 2
mov ecx, str.DebugDefault
push 0
mov dword [esi + 0x1b10], 0x43c80000
mov dword [esi + 0x1b14], 0x43c80000
mov dword [esi + 0x1af8], 4
call fcn.100e3860
xor edi, edi
add esp, 4
cmp dword [ebx + 0x2ef0], edi
jle 0x100eb873
xor esi, esi
nop word [eax + eax]
mov eax, dword [ebx + 0x2ef8]
add eax, esi
cmp dword [eax], 1
jne 0x100eb867
push eax
mov eax, dword [eax + 8]
push ebx
call eax
add esp, 8
inc edi
add esi, 0x10
cmp edi, dword [ebx + 0x2ef0]
jl 0x100eb850
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret