Function at 0x100d51a0
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 0x100e6205
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3f8
mov eax, dword [0x100f5008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebx + 8]
xor eax, eax
lea edi, [ecx + 8]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x364], eax
mov eax, dword [edi]
mov dword [ebp - 0x354], ecx
mov ecx, edi
mov dword [ebp - 0x370], edi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [0x10124b1c]
mov ecx, dword [0x1012494c]
add edx, 0xffffffd6
mov dword [ebp - 0x348], eax
xor edx, 0x1d780df9
lea esi, [eax*4 + 0x1012834c]
mov eax, dword [ebp - 0x354]
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100e9c18]
mov ecx, dword [edx + eax]
mov eax, dword [0x100f5024]
movss dword [ebp - 0x18], xmm0
cmp ecx, dword [edx + eax]
je 0x100d525a
mov byte [ebp - 0x341], 1
jmp 0x100d5270
mov ecx, dword [0x101249cc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x341]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x100fc1ec], 0
mov dl, al
mov dh, byte [ebp - 0x341]
je 0x100d52b8
test dh, dh
je 0x100d52b8
test dl, dl
jne 0x100d52cb
mov eax, dword [0x10124b9c]
mov ecx, dword [ebp - 0x354]
add eax, 0xffffffb6
xor eax, 0x1d780e1a
mov byte [eax + ecx], 1
mov eax, dword [ebp - 0x348]
mov byte [eax + 0x1012830f], 1
jmp 0x100d52de
test dl, dl
jne 0x100d52cb
mov eax, dword [ebp - 0x348]
mov byte [eax + 0x1012830f], 1
jmp 0x100d52de
mov eax, dword [ebp - 0x348]
cmp byte [eax + 0x1012830f], 0
je 0x100d7608
movss xmm0, dword [esi]
test dl, dl
je 0x100d52ed
subss xmm0, dword [ebp - 0x18]
jmp 0x100d52f2
addss xmm0, dword [ebp - 0x18]
movss dword [esi], xmm0
test dh, dh
je 0x100d5307
cmp byte [0x100fa2d8], 0
je 0x100d5307
mov dh, 1
jmp 0x100d5309
xor dh, dh
movss xmm0, dword [esi]
lea ecx, [ebp - 0x408]
comiss xmm0, dword [0x100e9bb8]
mov dword [ebp - 0x408], 0x3f800000
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
xorps xmm2, xmm2
cmovbe ecx, esi
movss xmm0, dword [ecx]
comiss xmm0, xmm2
cmova eax, ecx
movss xmm1, dword [eax]
ucomiss xmm1, xmm2
movss dword [esi], xmm1
lahf
test ah, 0x44
jp 0x100d5357
test dh, dh
je 0x100d7608
mov ecx, dword [0x10124b78]
mov eax, dword [0x1012494c]
add ecx, 0xffffffbf
mov esi, dword [ebp - 0x354]
xor ecx, 0x1d780e11
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + esi]
test dl, dl
je 0x100d538c
comiss xmm2, dword [0x100e9c64]
ja 0x100d7608
cmp byte [ebp - 0x341], 0
movaps xmm0, xmm1
mulss xmm1, dword [0x100e9d24]
mulss xmm0, dword [0x100e9d34]
cvttss2si eax, xmm1
cvttss2si ecx, xmm0
mov dword [ebp - 0x36c], eax
mov eax, dword [0x100fa264]
cmovne eax, dword [0x100fa1d4]
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x35c], ecx
test dl, dl
je 0x100d544f
test dh, dh
je 0x100d544f
movss xmm0, dword [0x100e9c4c]
mov ecx, 0x70
comiss xmm2, xmm0
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x36c], 0x50
jbe 0x100d5439
subss xmm2, xmm0
movss xmm0, dword [0x100e9cfc]
movaps xmm1, xmm2
mulss xmm2, dword [0x100e9c78]
mulss xmm1, dword [0x100e9c90]
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x100e9ce0]
subss xmm0, xmm2
mov dword [ebp - 0x35c], ecx
cvttss2si eax, xmm0
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x368], 0xff707070
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x374], eax
mov byte [ebp - 0x371], cl
lea edx, [ebp - 0x1e8]
mov ecx, dword [0x101248ec]
push edx
push dword [ebp - 0x348]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100d7608
push dword [ebp - 0x35c]
push esi
call fcn.100d4d80
lea eax, [ebp - 0x3a8]
push eax
push esi
call fcn.100d7bf0
test al, al
je 0x100d7608
cmp byte [ebp - 0x341], 0
lea edx, [ebp - 0x18]
push dword [0x100fab50]
lea ecx, [ebp - 0x350]
push dword [0x100fab4c]
je 0x100d54d1
mov dword [ebp - 0x18], 0
call fcn.10026f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100fab50]
jne 0x100d54ea
jmp 0x100d54ff
mov dword [ebp - 0x18], 1
call fcn.10026f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100fab50]
je 0x100d552f
push dword [ebp - 0x35c]
push esi
call fcn.100d8100
cmp byte [ebp - 0x341], 0
je 0x100d552f
push dword [0x100fa140]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100fa13c]
lea ecx, [ebp - 0x350]
call fcn.10026f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100fa140]
jne 0x100d555d
jmp 0x100d55a1
push dword [0x100fa140]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100fa13c]
lea ecx, [ebp - 0x350]
call fcn.10026f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100fa140]
je 0x100d55d4
mov edx, dword [ebp - 0x3a4]
push ecx
mov ecx, dword [ebp - 0x36c]
mov eax, esp
push dword [ebp - 0x374]
push dword [ebp - 0x39c]
mov byte [eax + 3], cl
push dword [ebp - 0x3a0]
mov ecx, dword [ebp - 0x3a8]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
call fcn.100ccb30
add esp, 0x10
cmp byte [ebp - 0x341], 0
je 0x100d55d4
push dword [0x100fa4a8]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100fa4a4]
lea ecx, [ebp - 0x350]
call fcn.10026f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100fa4a8]
jne 0x100d5606
jmp 0x100d58c7
push dword [0x100fa4a8]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100fa4a4]
lea ecx, [ebp - 0x350]
call fcn.10026f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100fa4a8]
je 0x100d5976
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x78]
call fcn.10026840
lea eax, [ebp - 0x350]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x78]
call fcn.10047ff0
lea ecx, [ebp - 0x78]
mov esi, dword [eax]
lea eax, [ebp - 0x18]
push eax
call fcn.10047fd0
lea ecx, [ebp - 0x78]
mov edx, dword [eax]
lea eax, [ebp - 0x348]
push eax
call fcn.10047ff0
push esi
push edx
mov edx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
lea ecx, [ebp - 0x374]
push dword [eax]
call fcn.100483e0
add esp, 0xc
cmp dword [ebp - 0x68], 0xc
jbe 0x100d569d
push 0
push 0xc
lea ecx, [ebp - 0x78]
call fcn.100334c0
mov eax, dword [0x100fa53c]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x35c]
mov byte [ebp - 0x355], al
lea eax, [ebp - 0x368]
mov dword [ebp - 0x368], 0x2e2e2e
jmp 0x100d56c1
mov eax, dword [0x100fa53c]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x35c]
mov byte [ebp - 0x355], al
lea eax, [ebp - 0x35d]
mov byte [ebp - 0x35d], 0
push eax
lea ecx, [ebp - 0x78]
call fcn.10038f80
mov esi, dword [ebp - 0x3a4]
mov ecx, eax
mov eax, dword [ebp - 0x3a0]
sub esi, dword [0x10128230]
push 2
cdq
push ecx
push dword [ebp - 0x358]
sub eax, edx
mov ecx, 0x10128228
sar eax, 1
add eax, dword [ebp - 0x3a8]
push esi
push eax
mov dword [ebp - 0x374], eax
call fcn.100cd530
mov eax, dword [0x10124bfc]
mov ecx, dword [ebp - 0x354]
add eax, 0xffffff9e
xor eax, 0x1d780e32
mov byte [ebp - 0x35d], 0
mov eax, dword [eax + ecx]
mov ecx, dword [0x101248f0]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
test eax, eax
je 0x100d58ab
mov ecx, dword [0x101248f0]
mov eax, dword [0x10124bfc]
add eax, 0xffffff9e
xor eax, 0x1d780e32
mov edx, dword [ecx]
add eax, dword [ebp - 0x354]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100d58ab
mov ecx, dword [0x101248f0]
mov eax, dword [0x10124bfc]
add eax, 0xffffff9e
xor eax, 0x1d780e32
mov edx, dword [ecx]
add eax, dword [ebp - 0x354]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov eax, dword [eax + 0xc8]
cmp eax, 7
je 0x100d57bd
test eax, eax
je 0x100d57bd
cmp eax, 9
jne 0x100d57c4
mov byte [ebp - 0x35d], 1
mov eax, dword [0x10124ab0]
mov esi, dword [ebp - 0x354]
mov ecx, dword [eax + esi]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, dword [0x100e9aa4]
lahf
test ah, 0x44
jnp 0x100d5826
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x10124a68]
mov dword [ebp - 0x348], ecx
mov ecx, dword [0x10124acc]
mov dword [ebp - 0x18], eax
cmp dword [ecx + esi], 0
jne 0x100d5814
mov eax, dword [0x10124a44]
mov ecx, esi
call eax
mov ecx, dword [0x10124acc]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ecx + esi]
mov edx, eax
call dword [ebp - 0x348]
cmp eax, 0x3c7
je 0x100d582f
cmp byte [ebp - 0x35d], 0
je 0x100d58ab
mov dword [ebp - 0x30], 0xe2e0f9fa
xor eax, eax
mov dword [ebp - 0x2c], 0xeeedfee9
mov word [ebp - 0x28], 0xe9e0
mov byte [ebp - 0x26], 0xac
nop dword [eax]
xor byte [ebp + eax - 0x30], 0xac
inc eax
cmp eax, 0xb
jb 0x100d5850
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x48]
call fcn.10026840
push 2
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x3a4]
sub ecx, dword [0x10128230]
push eax
mov eax, dword [ebp - 0x35c]
sub ecx, 8
movzx eax, al
shl eax, 0x18
or eax, 0x3cc896
push eax
push ecx
push dword [ebp - 0x374]
mov ecx, 0x10128234
call fcn.100cd530
lea ecx, [ebp - 0x48]
call fcn.100267f0
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.100267f0
cmp byte [ebp - 0x341], 0
je 0x100d5976
push dword [0x100fa5e0]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100fa5dc]
lea ecx, [ebp - 0x350]
call fcn.10026f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100fa5e0]
jne 0x100d59a8
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x36c], eax
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
cmp byte [ebp - 0x341], 0
mov dword [ebp - 4], 2
movq qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x64], 0
je 0x100d5ab3
push 0x100fa684
lea ecx, [ebp - 0x404]
call fcn.10025e70
mov eax, dword [ebp - 0x364]
or eax, 8
or eax, 1
lea ecx, [ebp - 0x404]
mov dword [ebp - 0x364], eax
jmp 0x100d5aca
push dword [0x100fa5e0]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100fa5dc]
lea ecx, [ebp - 0x350]
call fcn.10026f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100fa5e0]
je 0x100d58f9
mov ecx, dword [0x10124b50]
lea eax, [ebp - 0x18]
mov esi, dword [ebp - 0x39c]
add ecx, 0xffffffc9
xor ecx, 0x1d780e06
mov dword [ebp - 0x18], 0x64
add ecx, dword [ebp - 0x354]
add esi, 0xfffffffe
push ecx
cmp dword [ecx], 0x64
cmovl eax, ecx
mov eax, dword [eax]
imul eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100e9ad8]
movss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov edx, dword [ebp - 0x3a4]
mov eax, esp
mov ecx, dword [ebp - 0x36c]
push esi
mov esi, dword [ebp - 0x3a8]
mov byte [eax + 3], cl
lea edx, [edx + 1]
push 2
fstp dword [ebp - 0x18]
lea ecx, [esi - 5]
mov word [eax], 0x5a5a
mov byte [eax + 2], 0x5a
call fcn.100ccaf0
mov ecx, dword [ebp - 0x35c]
add esp, 8
mov edx, dword [ebp - 0x39c]
mov eax, esp
add edx, 0xfffffffe
mov byte [eax + 3], cl
cvttss2si ecx, dword [ebp - 0x18]
mov word [eax], 0xc896
mov byte [eax + 2], 0x32
sub edx, ecx
lea eax, [ecx + 2]
mov ecx, dword [ebp - 0x3a4]
push eax
push 4
lea edx, [edx + ecx]
lea ecx, [esi - 6]
call fcn.100ccaf0
movd xmm0, dword [ebp - 0x35c]
lea ecx, [esi - 6]
cvtdq2ps xmm0, xmm0
add esp, 8
mov edx, esp
mulss xmm0, dword [0x100e9b8c]
mov word [edx], 0x4646
mov byte [edx + 2], 0x46
cvttss2si eax, xmm0
mov byte [edx + 3], al
mov edx, dword [ebp - 0x3a4]
mov eax, dword [ebp - 0x39c]
push eax
push 4
lea edx, [edx]
call fcn.100ccab0
add esp, 0xc
jmp 0x100d5905
push 0x100fa72c
lea ecx, [ebp - 0x30]
call fcn.10025e70
or dword [ebp - 0x364], 6
lea ecx, [ebp - 0x30]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x348], eax
mov eax, dword [ecx]
mov dword [ebp - 0x374], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x348]
mov dword [ecx + 8], 0
push eax
lea eax, [ebp - 0x374]
mov dword [ecx + 4], 0
push eax
push ecx
push dword [ebp - 0x34c]
mov dword [ecx], 0
lea ecx, [ebp - 0x6c]
call fcn.10027210
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x364]
test al, 2
je 0x100d5b3e
and eax, 0xfffffffd
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x364], eax
call fcn.10025f60
mov eax, dword [ebp - 0x364]
mov byte [ebp - 4], 5
test al, 1
je 0x100d5b51
lea ecx, [ebp - 0x404]
call fcn.10025f60
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul esi, eax, 0x54c
add esi, 0x10107a3c
mov dword [ebp - 0x18], esi
cmp byte [esi + 0x508], 0
je 0x100d5bf9
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x3b0], 0x4241414b
push eax
lea ecx, [ebp - 0x48]
mov word [ebp - 0x3ac], 0x41
call fcn.10026840
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 6
mov byte [ebp - 0x355], al
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x358], 0xffff
push eax
mov byte [ebp - 0x356], 0xff
call fcn.100d92d0
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x24]
call fcn.100d8f00
lea ecx, [ebp - 0x398]
call fcn.100267f0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.100267f0
cmp byte [esi + 0x509], 0
je 0x100d5c7f
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x45454843
push eax
lea ecx, [ebp - 0x48]
mov word [ebp - 0x28], 0x4553
mov byte [ebp - 0x26], 0
call fcn.10026840
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 8
mov byte [ebp - 0x355], al
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x358], 0xffff
push eax
mov byte [ebp - 0x356], 0xff
call fcn.100d92d0
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x24]
call fcn.100d8f00
lea ecx, [ebp - 0x398]
call fcn.100267f0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.100267f0
cmp byte [esi + 0x50a], 0
je 0x100d5d1a
mov dword [ebp - 0x30], 0xe9e9e4ef
xor eax, eax
mov dword [ebp - 0x2c], 0xe08ce9ff
mov dword [ebp - 0x28], 0xace7ede9
xor byte [ebp + eax - 0x30], 0xac
inc eax
cmp eax, 0xc
jb 0x100d5ca3
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x48]
call fcn.10026840
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0xa
mov byte [ebp - 0x355], al
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x358], 0xffff
push eax
mov byte [ebp - 0x356], 0xff
call fcn.100d92d0
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x24]
call fcn.100d8f00
lea ecx, [ebp - 0x398]
call fcn.100267f0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.100267f0
push esi
call fcn.100cdc90
test eax, eax
je 0x100d5d80
lea ecx, [esi + 8]
xorps xmm0, xmm0
mov esi, dword [ecx + 0xc]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x348], ecx
movlpd qword [ebp - 0x2c], xmm0
call fcn.100bcd30
cmp esi, dword [ebp - 0x28]
je 0x100d5d80
mov edi, ecx
mov eax, dword [edi + 8]
mov edx, esi
dec eax
shr edx, 1
and edx, eax
mov ecx, esi
mov eax, dword [edi + 4]
and ecx, 1
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + ecx*8]
cmp byte [ecx + 0x18], 0
jne 0x100d5d74
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 4]
jb 0x100d5d74
call fcn.1002c420
inc esi
cmp esi, dword [ebp - 0x28]
jne 0x100d5d48
mov edi, dword [ebp - 0x370]
mov esi, dword [ebp - 0x6c]
cmp esi, dword [ebp - 0x68]
je 0x100d6cc8
nop dword [eax]
xor al, al
cmp dword [ebp - 0x354], 0
je 0x100d5dc9
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101248ec]
lea edi, [ebp - 0x340]
push edi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
mov edi, dword [ebp - 0x370]
neg al
sbb al, al
and al, byte [ebp - 0x204]
cmp dword [esi], 0
jne 0x100d5f1c
test al, al
jne 0x100d5f1c
xorps xmm0, xmm0
mov dword [ebp - 0x3b8], 0x454b4146
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 0x3b4], al
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d5e08
sub ecx, edx
lea eax, [ebp - 0x3b8]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10027260
mov eax, dword [ebp - 0x35c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0xc
mov byte [ebp - 0x355], al
lea eax, [ebp - 0x48]
push eax
mov word [ebp - 0x358], 0xffff
mov byte [ebp - 0x356], 0xff
call fcn.1002b7d0
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d5e94
movups xmm0, xmmword [ebp - 0x398]
mov edx, 0xf
mov byte [ebp - 0x398], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x388]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d5eaa
lea eax, [ebp - 0x398]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100b1b60
mov edx, dword [ebp - 0x384]
mov byte [ebp - 4], 0xc
cmp edx, 0x10
jb 0x100d5ee4
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x398]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5eda
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d5f1c
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5f12
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
cmp dword [esi], 1
jne 0x100d6052
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
lea edx, [ebp - 0x37c]
mov dword [ebp - 0x37c], 0x4d206925
lea ecx, [ebp - 0x48]
mov word [ebp - 0x378], 0x53
lea eax, [eax*4 + 0x1012a684]
push eax
call fcn.100b5430
add esp, 4
mov ecx, dword [ebp - 0x35c]
mov byte [ebp - 4], 0xe
mov byte [ebp - 0x361], cl
lea ecx, [ebp - 0x398]
push eax
mov word [ebp - 0x364], 0x7832
mov byte [ebp - 0x362], 0xff
call fcn.1002b7d0
mov eax, dword [ebp - 0x364]
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d5fca
movups xmm0, xmmword [ebp - 0x398]
mov edx, 0xf
mov byte [ebp - 0x398], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x388]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d5fe0
lea eax, [ebp - 0x398]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100b1b60
mov edx, dword [ebp - 0x384]
mov byte [ebp - 4], 0xe
cmp edx, 0x10
jb 0x100d601a
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x398]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6010
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d6052
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6048
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
cmp dword [esi], 2
jne 0x100d6182
mov eax, dword [0x10124b54]
lea edx, [ebp - 0x3cc]
add eax, 0xffffffc8
mov dword [ebp - 0x3cc], 0x692524
xor eax, 0x1d780e07
lea ecx, [ebp - 0x48]
add eax, dword [ebp - 0x354]
push eax
call fcn.100b5430
add esp, 4
mov ecx, dword [ebp - 0x36c]
mov byte [ebp - 0x3cd], cl
lea ecx, [ebp - 0x398]
push eax
mov byte [ebp - 4], 0x10
mov word [ebp - 0x3d0], 0xc896
mov byte [ebp - 0x3ce], 0x3c
call fcn.1002b7d0
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d60fa
movups xmm0, xmmword [ebp - 0x398]
mov edx, 0xf
mov byte [ebp - 0x398], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x388]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d6110
lea eax, [ebp - 0x398]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100b1b60
mov edx, dword [ebp - 0x384]
mov byte [ebp - 4], 0x10
cmp edx, 0x10
jb 0x100d614a
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x398]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6140
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d6182
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6178
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
cmp dword [esi], 3
mov ecx, dword [ebp - 0x354]
jne 0x100d64d5
mov eax, dword [0x10124b88]
add eax, 0xffffffbb
xor eax, 0x1d780e15
cmp byte [eax + ecx], 0
mov eax, dword [0x10124ba4]
je 0x100d6444
add eax, 0xffffffb4
mov dword [ebp - 0x38], 0
xor eax, 0x1d780e1c
mov dword [ebp - 0x34], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
cmp dword [eax + ecx], 0
jle 0x100d630d
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 0x3c0], 0x4d4c4548
mov byte [ebp - 0x3bc], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d61f0
sub ecx, edx
lea eax, [ebp - 0x3c0]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10027260
mov eax, dword [ebp - 0x35c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x3d1], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x12
mov word [ebp - 0x3d4], 0xffff
mov byte [ebp - 0x3d2], 0xff
call fcn.1002b7d0
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d627c
movups xmm0, xmmword [ebp - 0x398]
mov edx, 0xf
mov byte [ebp - 0x398], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x388]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d6292
lea eax, [ebp - 0x398]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100b1b60
mov edx, dword [ebp - 0x384]
mov byte [ebp - 4], 0x12
cmp edx, 0x10
jb 0x100d62cc
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x398]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d62c2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d64cf
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d62fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
jmp 0x100d64cf
lea ecx, [ebp - 0x3c8]
mov dword [ebp - 0x3c8], 0x4d4c4548
mov byte [ebp - 0x3c4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d6327
sub ecx, edx
lea eax, [ebp - 0x3c8]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10027260
mov eax, dword [ebp - 0x35c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x3d5], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x14
mov word [ebp - 0x3d8], 0xffff
mov byte [ebp - 0x3d6], 0xff
call fcn.1002b7d0
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d63b3
movups xmm0, xmmword [ebp - 0x398]
mov edx, 0xf
mov byte [ebp - 0x398], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x388]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d63c9
lea eax, [ebp - 0x398]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100b1b60
mov edx, dword [ebp - 0x384]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x100d6403
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x398]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d63f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d64cf
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6435
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
jmp 0x100d64cf
add eax, 0xffffffb4
xor eax, 0x1d780e1c
cmp dword [eax + ecx], 0
jle 0x100d64d5
lea eax, [ebp - 0x3f8]
mov dword [ebp - 0x3f8], 0x56454b
push eax
lea ecx, [ebp - 0x48]
call fcn.10026840
mov eax, dword [ebp - 0x35c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x16
mov byte [ebp - 0x3f1], al
lea eax, [ebp - 0x3f4]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x3f4], 0xffff
push eax
mov byte [ebp - 0x3f2], 0xff
call fcn.100d92d0
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x24]
call fcn.100d8f00
lea ecx, [ebp - 0x398]
call fcn.100267f0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.100267f0
mov ecx, dword [ebp - 0x354]
cmp dword [esi], 4
jne 0x100d6644
mov eax, dword [0x10124b94]
add eax, 0xffffffb8
xor eax, 0x1d780e18
cmp byte [eax + ecx], 0
je 0x100d6644
xorps xmm0, xmm0
mov dword [ebp - 0x400], 0x504f4353
lea ecx, [ebp - 0x400]
mov word [ebp - 0x3fc], 0x4445
mov byte [ebp - 0x3fa], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d6530
sub ecx, edx
lea eax, [ebp - 0x400]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10027260
mov eax, dword [ebp - 0x35c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x3ed], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x18
mov word [ebp - 0x3f0], 0xc8e6
mov byte [ebp - 0x3ee], 0x82
call fcn.1002b7d0
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d65bc
movups xmm0, xmmword [ebp - 0x398]
mov edx, 0xf
mov byte [ebp - 0x398], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x388]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d65d2
lea eax, [ebp - 0x398]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100b1b60
mov edx, dword [ebp - 0x384]
mov byte [ebp - 4], 0x18
cmp edx, 0x10
jb 0x100d660c
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x398]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6602
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d6644
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d663a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
cmp dword [esi], 5
xorps xmm1, xmm1
mov edx, dword [ebp - 0x354]
jne 0x100d67bf
mov eax, dword [0x10124bb8]
add eax, 0xffffffaf
xor eax, 0x1d780e21
movss xmm0, dword [eax + edx]
comiss xmm0, xmm1
jbe 0x100d67bf
xorps xmm0, xmm0
mov dword [ebp - 0x3b0], 0x4e494c42
lea ecx, [ebp - 0x3b0]
mov word [ebp - 0x3ac], 0x44
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d66a2
sub ecx, edx
lea eax, [ebp - 0x3b0]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10027260
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x3e9], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x1a
mov word [ebp - 0x3ec], 0xffff
mov byte [ebp - 0x3ea], 0
call fcn.1002b7d0
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d672e
movups xmm0, xmmword [ebp - 0x398]
mov edx, 0xf
mov byte [ebp - 0x398], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x388]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d6744
lea eax, [ebp - 0x398]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100b1b60
mov edx, dword [ebp - 0x384]
mov byte [ebp - 4], 0x1a
cmp edx, 0x10
jb 0x100d677e
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x398]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6774
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d67b6
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d67ac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
mov edx, dword [ebp - 0x354]
xorps xmm1, xmm1
cmp dword [esi], 6
jne 0x100d6971
mov eax, dword [0x10124ab0]
mov ecx, dword [eax + edx]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100d6971
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x10124a68]
mov dword [ebp - 0x34c], ecx
mov ecx, dword [0x10124acc]
mov dword [ebp - 0x350], eax
cmp dword [ecx + edx], 0
jne 0x100d6818
mov eax, dword [0x10124a44]
mov ecx, edx
call eax
mov ecx, dword [0x10124acc]
mov eax, dword [ebp - 0x350]
mov edx, eax
mov eax, dword [ebp - 0x354]
mov ecx, dword [ecx + eax]
call dword [ebp - 0x34c]
cmp eax, 0x3c7
jne 0x100d6971
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0x4f4c4552
lea ecx, [ebp - 0x2c]
mov word [ebp - 0x28], 0x4441
mov byte [ebp - 0x26], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d6860
sub ecx, edx
lea eax, [ebp - 0x2c]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10027260
mov eax, dword [ebp - 0x35c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x3d9], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x1c
mov word [ebp - 0x3dc], 0xb43c
mov byte [ebp - 0x3da], 0xe1
call fcn.1002b7d0
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d68e9
movups xmm0, xmmword [ebp - 0x398]
mov edx, 0xf
mov byte [ebp - 0x398], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x388]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d68ff
lea eax, [ebp - 0x398]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100b1b60
mov edx, dword [ebp - 0x384]
mov byte [ebp - 4], 0x1c
cmp edx, 0x10
jb 0x100d6939
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x398]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d692f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d6971
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6967
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
cmp dword [esi], 7
jne 0x100d6ad4
mov eax, dword [0x10124a74]
mov ecx, dword [ebp - 0x354]
call eax
test al, al
je 0x100d6ad4
xorps xmm0, xmm0
mov word [ebp - 0x368], 0x3443
lea ecx, [ebp - 0x368]
mov byte [ebp - 0x366], 0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d69c0
sub ecx, edx
lea eax, [ebp - 0x368]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10027260
mov eax, dword [ebp - 0x35c]
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x3e5], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x1e
mov word [ebp - 0x3e8], 0xff
mov byte [ebp - 0x3e6], 0
call fcn.1002b7d0
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d6a4c
movups xmm0, xmmword [ebp - 0x398]
mov edx, 0xf
mov byte [ebp - 0x398], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x388]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d6a62
lea eax, [ebp - 0x398]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100b1b60
mov edx, dword [ebp - 0x384]
mov byte [ebp - 4], 0x1e
cmp edx, 0x10
jb 0x100d6a9c
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x398]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6a92
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d6ad4
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6aca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d6dc0
push ecx
push edx
call fcn.100dab01
add esp, 8
cmp dword [esi], 8
jne 0x100d6cbc
cmp byte [0x100f6a48], 0
je 0x100d6cbc
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x18], 2
jb 0x100d6cbc
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov eax, ecx
shr eax, 1
dec edx
and eax, edx
mov dword [ebp - 0x34c], edx
mov edx, dword [ebp - 0x18]
and ecx, 1
mov edx, dword [edx + 0xc]
mov eax, dword [edx + eax*4]
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x14]
inc ecx
mov eax, ecx
and ecx, 1
shr eax, 1
and eax, dword [ebp - 0x34c]
mov eax, dword [edx + eax*4]
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x350]
test ecx, ecx
je 0x100d6cbc
test eax, eax
je 0x100d6cbc
cmp byte [ecx + 0x18], 0
jne 0x100d6cbc
cmp byte [eax + 0x18], 0
jne 0x100d6cbc
mov eax, dword [ecx + 0x414]
cmp eax, 8
je 0x100d6c65
test eax, eax
je 0x100d6c65
cmp eax, 7
je 0x100d6c65
cmp eax, 6
je 0x100d6c65
cmp eax, 5
je 0x100d6c65
cmp eax, 1
je 0x100d6c65
cmp eax, 2
jne 0x100d6bea
cmp byte [ecx + 0x3ec], 0
je 0x100d6bef
mov eax, dword [ebp - 0x36c]
mov byte [ebp - 0x3e1], al
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ecx + 0x434]
mov word [ebp - 0x3e4], 0xff
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x3e2], 0
call fcn.100d92d0
mov byte [ebp - 4], 0x21
jmp 0x100d6c9e
cmp eax, 4
jne 0x100d6c2a
mov eax, dword [ebp - 0x36c]
mov byte [ebp - 0x3dd], al
lea eax, [ebp - 0x3e0]
push eax
lea eax, [ecx + 0x434]
mov word [ebp - 0x3e0], 0xa5ff
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x3de], 0
call fcn.100d92d0
mov byte [ebp - 4], 0x22
jmp 0x100d6c9e
mov eax, dword [ebp - 0x36c]
mov byte [ebp - 0x371], al
lea eax, [ebp - 0x374]
push eax
lea eax, [ecx + 0x434]
mov word [ebp - 0x374], 0xff
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x372], 0
call fcn.100d92d0
mov byte [ebp - 4], 0x23
jmp 0x100d6c9e
mov eax, dword [ebp - 0x36c]
mov byte [ebp - 0x345], al
lea eax, [ebp - 0x348]
push eax
lea eax, [ecx + 0x434]
mov word [ebp - 0x348], 0xff00
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x346], 0
call fcn.100d92d0
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x398]
push eax
lea ecx, [ebp - 0x24]
call fcn.100d8f00
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 5
call fcn.100267f0
add esi, 4
cmp esi, dword [ebp - 0x68]
jne 0x100d5d90
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
sub ecx, dword [ebp - 0x24]
xor esi, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100d6d5d
mov eax, dword [ebp - 0x3a8]
mov edx, dword [ebp - 0x3a0]
add eax, 2
mov edi, dword [ebp - 0x24]
add edx, eax
xor eax, eax
mov dword [ebp - 0x34c], edx
mov dword [ebp - 0x18], eax
lea ecx, [edi + eax]
mov eax, dword [0x1012823c]
add eax, 0xfffffffc
push 0
imul eax, esi
push ecx
push dword [ecx + 0x18]
mov ecx, 0x10128234
add eax, dword [ebp - 0x3a4]
push eax
push edx
call fcn.100cd530
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
mov edi, dword [ebp - 0x24]
inc esi
add dword [ebp - 0x18], 0x1c
sub ecx, edi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x34c]
cmp esi, eax
mov eax, dword [ebp - 0x18]
jb 0x100d6d04
mov edi, dword [ebp - 0x370]
lea ecx, [ebp - 0x6c]
call fcn.10025f60
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x100d6dd0
mov edx, dword [ebp - 0x20]
push ecx
call fcn.100b15b0
mov ecx, dword [ebp - 0x1c]
mov eax, 0x92492493
mov esi, dword [ebp - 0x24]
add esp, 4
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x100d6dc6
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d6dc6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100dab01
add esp, 8
xor eax, eax
mov dword [ebp - 0x364], eax
cmp byte [ebp - 0x341], al
je 0x100d6fee
cmp byte [0x100faa08], al
je 0x100d6fce
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul esi, eax, 0x54c
add esi, 0x10107a3c
je 0x100d6fce
cmp byte [esi + 0x31], 0
je 0x100d6fce
cmp dword [esi + 0x18], 0
je 0x100d6fce
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*8]
test eax, eax
je 0x100d6fce
movss xmm1, dword [eax + 0x44]
movss xmm0, dword [eax + 0x40]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1001e310
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x100e9bc8]
jbe 0x100d6e77
cmp byte [eax + 0x418], 0
je 0x100d6fce
cmp dword [esi + 0x48], 3
jg 0x100d6fce
movss xmm0, dword [esi + 0x4d4]
lea edx, [ebp - 0x350]
subss xmm0, dword [eax + 0x428]
lea eax, [ebp - 0x34c]
mov dword [ebp - 0x34c], 0x3f800000
push eax
lea ecx, [ebp - 0x370]
mov dword [ebp - 0x350], 0
movss dword [ebp - 0x370], xmm0
call fcn.10026fa0
movd xmm1, dword [ebp - 0x3a0]
add esp, 4
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [eax]
mulss xmm1, dword [0x100e9ba8]
comiss xmm1, dword [0x100e9aa4]
movss dword [ebp - 0x34c], xmm1
jbe 0x100d6fce
mov eax, dword [0x100faaac]
mov ecx, dword [0x101248f0]
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0x35c]
mov byte [ebp - 0x36d], al
mov eax, dword [0x10124bfc]
mov edx, dword [ecx]
add eax, 0xffffff9e
xor eax, 0x1d780e32
add eax, dword [ebp - 0x354]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov ecx, eax
test ecx, ecx
je 0x100d6f5e
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, eax
xor eax, eax
test ecx, ecx
je 0x100d6f60
cmp dword [ecx + 0x14], 0xffffffff
mov edx, 5
cmovne eax, edx
mov dword [ebp - 0x364], eax
jmp 0x100d6f60
xor eax, eax
mov esi, dword [ebp - 0x3a4]
push dword [ebp - 0x370]
mov ecx, dword [ebp - 0x3a8]
add esi, eax
cvttss2si eax, dword [ebp - 0x34c]
add esi, dword [ebp - 0x39c]
push 4
lea edx, [esi + 2]
push eax
call fcn.100ccaf0
movd xmm0, dword [ebp - 0x35c]
lea edx, [esi + 2]
cvtdq2ps xmm0, xmm0
add esp, 8
mov ecx, esp
push 4
mulss xmm0, dword [0x100e9b8c]
mov word [ecx], 0x4646
push dword [ebp - 0x3a0]
mov byte [ecx + 2], 0x46
cvttss2si eax, xmm0
mov byte [ecx + 3], al
mov ecx, dword [ebp - 0x3a8]
call fcn.100ccab0
add esp, 0xc
push 0
push dword [0x100fa7d8]
push dword [0x100fa7d4]
call fcn.100da4a0
cmp eax, dword [0x100fa7d8]
jne 0x100d700d
jmp 0x100d7608
push 1
push dword [0x100fa7d8]
push dword [0x100fa7d4]
call fcn.100da4a0
cmp eax, dword [0x100fa7d8]
je 0x100d7608
mov ecx, dword [0x101248f0]
mov eax, dword [0x10124bfc]
mov edi, dword [ebp - 0x354]
add eax, 0xffffff9e
push ecx
mov edx, dword [ecx]
xor eax, 0x1d780e32
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax + edi]
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x100d7608
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100d7608
mov ecx, dword [eax + 0x14]
mov eax, dword [0x10124c18]
add eax, 0xffffff97
mov dword [ebp - 0x370], ecx
xor eax, 0x1d780e39
mov ecx, dword [eax + esi]
mov eax, dword [0x10124ab0]
mov dword [ebp - 0x374], ecx
mov ecx, dword [eax + edi]
mov dword [ebp - 0x348], ecx
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, dword [0x100e9aa4]
lahf
test ah, 0x44
jnp 0x100d70e1
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x10124a68]
mov dword [ebp - 0x350], ecx
mov ecx, dword [0x10124acc]
mov dword [ebp - 0x34c], eax
cmp dword [ecx + edi], 0
jne 0x100d70cb
mov eax, dword [0x10124a44]
mov ecx, edi
call eax
mov ecx, dword [0x10124acc]
mov eax, dword [ebp - 0x34c]
mov ecx, dword [ecx + edi]
mov edx, eax
call dword [ebp - 0x350]
cmp eax, 0x3c7
jne 0x100d70e1
mov al, 1
jmp 0x100d70e3
xor al, al
mov ecx, dword [ebp - 0x370]
cmp ecx, 0xffffffff
je 0x100d7293
cmp byte [0x100fa8f0], 0
je 0x100d7293
test al, al
je 0x100d7110
mov eax, dword [ebp - 0x348]
movss xmm1, dword [eax + 0x64]
jmp 0x100d7126
movd xmm1, dword [ebp - 0x374]
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov eax, dword [ebp - 0x3a0]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x34c], xmm0
fld dword [ebp - 0x34c]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov eax, dword [ebp - 0x36c]
add esp, 4
mov ecx, dword [0x101248f8]
mov edi, dword [ebp - 0x39c]
mov byte [ebp - 0x345], al
mov eax, dword [ebp - 0x3a4]
add eax, 6
mov word [ebp - 0x348], 0x5a5a
add edi, eax
mov byte [ebp - 0x346], 0x5a
mov eax, dword [ecx]
push dword [ebp - 0x348]
fstp dword [ebp - 0x34c]
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x3a8]
add edx, dword [ebp - 0x3a0]
mov ecx, dword [0x101248f8]
mov esi, dword [ebp - 0x3a4]
push edi
push edx
mov edx, dword [ebp - 0x39c]
add esi, 2
mov eax, dword [ecx]
add edx, esi
push edx
push dword [ebp - 0x3a8]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x100fa994]
mov ecx, dword [0x101248f8]
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0x35c]
mov byte [ebp - 0x36d], al
mov eax, dword [ecx]
push dword [ebp - 0x370]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101248f8]
cvttss2si esi, dword [ebp - 0x34c]
push edi
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x3a8]
add eax, esi
mov esi, dword [ebp - 0x39c]
push eax
mov eax, dword [ebp - 0x3a4]
add eax, 2
add esi, eax
push esi
push dword [ebp - 0x3a8]
call edx
movd xmm0, dword [ebp - 0x35c]
mov ecx, dword [0x101248f8]
cvtdq2ps xmm0, xmm0
mov word [ebp - 0x348], 0x4646
mov byte [ebp - 0x346], 0x46
mulss xmm0, dword [0x100e9b8c]
cvttss2si eax, xmm0
mov byte [ebp - 0x345], al
mov eax, dword [ecx]
push dword [ebp - 0x348]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101248f8]
lea edi, [esi + 4]
push edi
mov edi, dword [ebp - 0x3a8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 0x3a0]
add edx, edi
push edx
push esi
push edi
call eax
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x364]
mov eax, dword [0x100fa87c]
add edi, 6
mov dword [ebp - 0x364], edi
test eax, eax
jne 0x100d742a
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100d72d0
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov edx, dword [eax + 4]
jmp 0x100d72e9
mov dword [ebp - 0x37c], 0x6f727265
lea edx, [ebp - 0x37c]
mov word [ebp - 0x378], 0x72
mov ecx, edx
mov dword [ebp - 0x50], 0
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x60], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d7303
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x60]
call fcn.10027260
mov dword [ebp - 4], 0x24
lea ecx, [ebp - 0x60]
mov esi, dword [ebp - 0x50]
mov edx, 7
cmp esi, edx
cmovb edx, esi
cmp dword [ebp - 0x4c], 0x10
cmovae ecx, dword [ebp - 0x60]
sub esi, edx
lea eax, [esi + 1]
push eax
lea eax, [ecx + edx]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x60]
add esp, 0xc
mov dword [ebp - 0x50], esi
cmp dword [ebp - 0x4c], 0x10
cmovae eax, ecx
mov dword [ebp - 0x370], eax
lea eax, [ebp - 0x60]
cmovae eax, ecx
add eax, esi
cmp dword [ebp - 0x4c], 0x10
lea esi, [ebp - 0x60]
mov dword [ebp - 0x34c], eax
cmovae esi, ecx
cmp esi, eax
je 0x100d73a5
sub dword [ebp - 0x370], esi
mov edi, dword [ebp - 0x370]
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [esi + edi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x34c]
jne 0x100d7386
mov edi, dword [ebp - 0x364]
mov edx, dword [ebp - 0x3a4]
lea eax, [ebp - 0x60]
push 2
push eax
mov eax, dword [ebp - 0x35c]
add edx, edi
add edx, dword [ebp - 0x39c]
push ecx
mov ecx, esp
push edx
mov byte [ecx + 3], al
mov eax, dword [ebp - 0x3a0]
cdq
sub eax, edx
mov word [ecx], 0xffff
sar eax, 1
add eax, dword [ebp - 0x3a8]
mov byte [ecx + 2], 0xff
mov ecx, 0x10128234
push eax
call fcn.100cd530
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x10
jb 0x100d7608
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d741b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d741b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dab01
add esp, 8
jmp 0x100d7608
cmp eax, 1
jne 0x100d7608
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100d7454
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov edx, dword [eax + 4]
jmp 0x100d746d
mov dword [ebp - 0x37c], 0x6f727265
lea edx, [ebp - 0x37c]
mov word [ebp - 0x378], 0x72
mov ecx, edx
mov dword [ebp - 0x80], 0
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0
movups xmmword [ebp - 0x90], xmm0
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d7490
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x90]
call fcn.10027260
mov dword [ebp - 4], 0x25
lea eax, [ebp - 0x90]
cmp dword [ebp - 0x7c], 0x10
lea ecx, [ebp - 0x90]
mov edx, dword [ebp - 0x90]
lea edi, [ebp - 0x90]
cmovae eax, edx
cmovae ecx, edx
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x80]
add eax, ecx
cmp dword [ebp - 0x7c], 0x10
mov dword [ebp - 0x350], eax
cmovae edi, edx
cmp edi, eax
je 0x100d750c
mov esi, dword [ebp - 0x34c]
sub esi, edi
movsx eax, byte [edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [edi + esi], al
add esp, 4
inc edi
cmp edi, dword [ebp - 0x350]
jne 0x100d74f3
mov eax, dword [0x10124c14]
mov ecx, dword [ebp - 0x18]
add eax, 0xffffff98
xor eax, 0x1d780e38
add eax, ecx
cmp dword [eax], 0x40
jne 0x100d7575
push 2
lea eax, [ebp - 0x90]
push eax
push ecx
mov ecx, dword [ebp - 0x36c]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x10128234
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x364]
add eax, dword [ebp - 0x3a4]
add eax, dword [ebp - 0x39c]
push eax
mov eax, dword [ebp - 0x3a0]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a8]
push eax
call fcn.100cd530
jmp 0x100d75fd
mov esi, dword [ebp - 0x364]
mov ecx, 0x1012a804
push eax
sub esi, 5
call fcn.100d8fe0
push eax
lea edx, [ebp - 0x368]
mov word [ebp - 0x368], 0x6325
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x366], 0
call fcn.100d9300
add esp, 4
push 2
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x26
push eax
push ecx
mov ecx, dword [ebp - 0x36c]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x10128270
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x3a4]
add eax, esi
add eax, dword [ebp - 0x39c]
push eax
mov eax, dword [ebp - 0x3a0]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a8]
push eax
call fcn.100cd530
lea ecx, [ebp - 0x48]
call fcn.100267f0
lea ecx, [ebp - 0x90]
call fcn.100267f0
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.100da686
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4