Function at 0x100fc060
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101c7a39
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x10203360]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x5c], 0
mov eax, dword [0x102a21bc]
test al, 1
jne 0x100fc1dc
or eax, 1
mov dword [0x102a21bc], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x100fc104
nop
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x100fc0f9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100fc0d3
xor edx, edx
test ecx, ecx
je 0x100fc0f9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc0e0
cmp esi, 0xfda73f75
je 0x100fc117
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x100fc0c0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a21ec], eax
jmp 0x100fc1e1
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x100fc1b8
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100fc161
cmp dword [ecx + 4], 0
jle 0x100fc161
push 0
mov edx, 0x2c4cfdac
call fcn.101146e0
add esp, 4
test eax, eax
je 0x100fc15e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fc170
xor edx, edx
test ecx, ecx
je 0x100fc19c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc180
cmp edi, 0x2c4cfdac
je 0x100fc1c8
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
cmp edx, dword [eax + 4]
jl 0x100fc130
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a21ec], eax
jmp 0x100fc1e1
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x102a21ec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fc1e1
mov eax, dword [0x102a21ec]
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
movss xmm1, dword [eax + ecx]
mov eax, dword [0x105cbfb0]
add eax, 0x4fd8cdb0
xor eax, 0x91d5c6d7
mov eax, dword [eax + 0x108]
subss xmm1, dword [eax + 0x10]
comiss xmm0, xmm1
movss dword [ebp - 0x58], xmm1
jae 0x100fcb72
mov edx, dword [0x1029e3c0]
test dl, 1
jne 0x100fc346
or edx, 1
mov dword [0x1029e3c0], edx
mov dword [ebp - 4], 1
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x100fc285
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x100fc27a
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fc254
xor edx, edx
test ecx, ecx
je 0x100fc27a
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc261
cmp edi, 0x1eee87cc
je 0x100fc29f
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x100fc241
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x1029e3c0]
mov dword [0x1029e3f4], ecx
jmp 0x100fc34c
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x100fc334
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100fc2e9
cmp dword [ecx + 4], 0
jle 0x100fc2e9
push 0
mov edx, 0x559d81af
call fcn.101146e0
add esp, 4
test eax, eax
je 0x100fc2e6
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x48]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fc2f2
xor edx, edx
test ecx, ecx
je 0x100fc31c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc300
cmp edi, 0x559d81af
je 0x100fc33b
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x44]
add ecx, 0x3c
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x100fc2b8
mov ecx, esi
jmp 0x100fc287
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x44]
jmp 0x100fc287
mov ecx, dword [0x1029e3f4]
mov eax, dword [0x105cbfb0]
mov ebx, dword [ebp + 8]
add eax, 0x4fd8cdb0
xor eax, 0x91d5c6d7
add ebx, ecx
mov dword [ebp - 0x60], ebx
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x64], eax
test dl, 1
jne 0x100fc3f0
or edx, 1
mov dword [0x1029e3c0], edx
mov dword [ebp - 4], 2
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x100fc3db
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x100fc3d0
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fc3a6
xor edx, edx
test ecx, ecx
je 0x100fc3d0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc3b3
cmp edi, 0x1eee87cc
je 0x100fc4cb
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x100fc393
xor ecx, ecx
mov ebx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
mov dword [0x1029e3f4], ecx
mov dword [ebp - 4], 0xffffffff
movss xmm2, dword [ebx]
movss xmm0, dword [ebx + 4]
subss xmm0, dword [eax + ecx + 4]
subss xmm2, dword [eax + ecx]
movss xmm1, dword [ebx + 8]
subss xmm1, dword [eax + ecx + 8]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1000cb10
mulss xmm0, xmm0
mulss xmm0, dword [0x101f0b64]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_expf
mov eax, dword [0x102a21c8]
movaps xmm3, xmm0
mulss xmm3, dword [0x101f0ad0]
test al, 1
jne 0x100fc63c
or eax, 1
mov dword [0x102a21c8], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x100fc4b8
nop
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x100fc4ad
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100fc483
xor edx, edx
test ecx, ecx
je 0x100fc4ad
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc490
cmp esi, 0xfda73f75
je 0x100fc576
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x100fc470
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a21e8], eax
jmp 0x100fc641
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x100fc564
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100fc515
cmp dword [ecx + 4], 0
jle 0x100fc515
push 0
mov edx, 0x559d81af
call fcn.101146e0
add esp, 4
test eax, eax
je 0x100fc512
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x48]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fc520
xor edx, edx
test ecx, ecx
je 0x100fc54c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc530
cmp edi, 0x559d81af
je 0x100fc56b
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x44]
add ecx, 0x3c
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x100fc4e4
mov ecx, esi
jmp 0x100fc3dd
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x44]
jmp 0x100fc3dd
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x100fc618
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
nop
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100fc5c1
cmp dword [ecx + 4], 0
jle 0x100fc5c1
push 0
mov edx, 0xca9f868d
call fcn.101146e0
add esp, 4
test eax, eax
je 0x100fc5be
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x48]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fc5d0
xor edx, edx
test ecx, ecx
je 0x100fc5fc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc5e0
cmp edi, 0xca9f868d
je 0x100fc628
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x44]
add ecx, 0x3c
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x100fc590
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a21e8], eax
jmp 0x100fc641
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
mov dword [0x102a21e8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fc641
mov eax, dword [0x102a21e8]
mov ecx, dword [ebp + 8]
mov edi, dword [ebp - 0x54]
mov cl, byte [eax + ecx]
mov eax, dword [edi]
mov byte [eax + 0xab6], cl
mov eax, dword [0x102a21b8]
test al, 1
jne 0x100fc7a2
or eax, 1
mov dword [0x102a21b8], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x100fc6c4
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x100fc6b9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fc693
xor edx, edx
test ecx, ecx
je 0x100fc6b9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc6a0
cmp edi, 0xfda73f75
je 0x100fc6da
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x100fc680
mov edi, dword [ebp - 0x54]
xor eax, eax
mov dword [0x102a21c4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fc7a7
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x100fc778
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100fc724
cmp dword [ecx + 4], 0
jle 0x100fc724
push 0
mov edx, 0x74e01381
call fcn.101146e0
add esp, 4
test eax, eax
je 0x100fc721
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x48]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fc730
xor edx, edx
test ecx, ecx
je 0x100fc75c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc740
cmp edi, 0x74e01381
je 0x100fc78b
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x44]
add ecx, 0x3c
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x100fc6f3
mov edi, dword [ebp - 0x54]
mov eax, esi
mov dword [0x102a21c4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fc7a7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov dword [0x102a21c4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fc7a7
mov eax, dword [0x102a21c4]
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx], 0xffffffff
mov eax, dword [edi]
setne cl
mov byte [eax + 0xab5], cl
cvttss2si ecx, dword [ebp - 0x58]
mov eax, dword [edi]
mov dword [eax + 0xab8], ecx
mov eax, dword [0x105cbfb0]
add eax, 0x4fd8cdb0
xor eax, 0x91d5c6d7
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x58], eax
mov eax, dword [0x102a1824]
test al, 1
jne 0x100fc932
or eax, 1
mov dword [0x102a1824], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x100fc854
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x100fc849
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fc820
xor edx, edx
test ecx, ecx
je 0x100fc849
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc830
cmp edi, 0x72e242a1
je 0x100fc86a
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x100fc808
mov edi, dword [ebp - 0x54]
xor eax, eax
mov dword [0x102a1850], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fc937
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x100fc908
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100fc8b4
cmp dword [ecx + 4], 0
jle 0x100fc8b4
push 0
mov edx, 0x8937152d
call fcn.101146e0
add esp, 4
test eax, eax
je 0x100fc8b1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x48]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fc8c0
xor edx, edx
test ecx, ecx
je 0x100fc8ec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc8d0
cmp edi, 0x8937152d
je 0x100fc91b
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x44]
add ecx, 0x3c
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x100fc883
mov edi, dword [ebp - 0x54]
mov eax, esi
mov dword [0x102a1850], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fc937
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov dword [0x102a1850], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fc937
mov eax, dword [0x102a1850]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + eax]
test eax, eax
jle 0x100fc975
movaps xmm2, xmm3
movd xmm0, eax
mulss xmm2, dword [0x101f07bc]
movaps xmm1, xmm3
cvtdq2ps xmm0, xmm0
subss xmm1, xmm2
mulss xmm1, dword [0x101f07bc]
comiss xmm1, xmm0
jbe 0x100fc972
addss xmm0, xmm0
movaps xmm2, xmm3
subss xmm2, xmm0
movaps xmm3, xmm2
mov eax, dword [edi]
cvttss2si ecx, xmm3
mov dword [eax + 0xabc], ecx
mov eax, dword [0x102a21d8]
test al, 1
jne 0x100fcad2
or eax, 1
mov dword [0x102a21d8], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x100fc9f4
nop dword [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x100fc9e9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100fc9c3
xor edx, edx
test ecx, ecx
je 0x100fc9e9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100fc9d0
cmp esi, 0xfda73f75
je 0x100fca0a
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x100fc9b0
mov edi, dword [ebp - 0x54]
xor eax, eax
mov dword [0x102a21dc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fcad7
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x100fcaa8
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100fca54
cmp dword [ecx + 4], 0
jle 0x100fca54
push 0
mov edx, 0xe027ac16
call fcn.101146e0
add esp, 4
test eax, eax
je 0x100fca51
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x48]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100fca60
xor edx, edx
test ecx, ecx
je 0x100fca8c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100fca70
cmp edi, 0xe027ac16
je 0x100fcabb
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x44]
add ecx, 0x3c
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x100fca23
mov edi, dword [ebp - 0x54]
mov eax, esi
mov dword [0x102a21dc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fcad7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov dword [0x102a21dc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100fcad7
mov eax, dword [0x102a21dc]
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx], 0
jne 0x100fcb07
lea eax, [ebp - 0x40]
mov ecx, 0x10292e08
push eax
call fcn.1002e610
mov dword [ebp - 4], 7
lea edx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov ebx, 5
cmovae edx, dword [ebp - 0x40]
jmp 0x100fcb2c
lea eax, [ebp - 0x28]
mov ecx, 0x10292e58
push eax
call fcn.1002e610
mov dword [ebp - 4], 8
lea edx, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
mov ebx, 0xa
cmovae edx, dword [ebp - 0x28]
mov ecx, edx
mov dword [ebp - 0x5c], ebx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100fcb34
sub ecx, esi
push ecx
mov ecx, dword [edi]
push edx
add ecx, 0xac0
call fcn.1002f7a0
test bl, 2
je 0x100fcb5c
lea ecx, [ebp - 0x28]
and ebx, 0xfffffffd
call fcn.1001de40
test bl, 1
je 0x100fcb69
lea ecx, [ebp - 0x40]
call fcn.1001de40
mov eax, dword [edi]
mov byte [eax + 0xab4], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101b965e
mov esp, ebp
pop ebp
ret 4