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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10271f29
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x103230ac]
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 [0x103fd704]
test al, 1
jne 0x1012295c
or eax, 1
mov dword [0x103fd704], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x103bf630]
cmp ebx, dword [0x103bf634]
je 0x10122884
nop
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x10122879
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10122853
xor edx, edx
test ecx, ecx
je 0x10122879
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10122860
cmp esi, 0xfda73f75
je 0x10122897
add ebx, 4
cmp ebx, dword [0x103bf634]
jne 0x10122840
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103fd734], eax
jmp 0x10122961
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x10122938
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x101228e1
cmp dword [ecx + 4], 0
jle 0x101228e1
push 0
mov edx, 0x2c4cfdac
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101228de
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x101228f0
xor edx, edx
test ecx, ecx
je 0x1012291c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10122900
cmp esi, 0x2c4cfdac
je 0x10122948
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 0x101228b0
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103fd734], eax
jmp 0x10122961
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x103fd734], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122961
mov eax, dword [0x103fd734]
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
movss xmm1, dword [eax + ecx]
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0xf0]
subss xmm1, dword [eax + 0x10]
comiss xmm0, xmm1
movss dword [ebp - 0x58], xmm1
jae 0x101232f2
mov edx, dword [0x103c3ba8]
test dl, 1
jne 0x10122ac6
or edx, 1
mov dword [0x103c3ba8], edx
mov dword [ebp - 4], 1
mov ebx, dword [0x103bf630]
cmp ebx, dword [0x103bf634]
je 0x10122a05
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x101229fa
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101229d4
xor edx, edx
test ecx, ecx
je 0x101229fa
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101229e1
cmp edi, 0x1eee87cc
je 0x10122a1f
add ebx, 4
cmp ebx, dword [0x103bf634]
jne 0x101229c1
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x103c3ba8]
mov dword [0x103c3bec], ecx
jmp 0x10122acc
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x10122ab4
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10122a69
cmp dword [ecx + 4], 0
jle 0x10122a69
push 0
mov edx, 0x559d81af
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10122a66
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 0x10122a72
xor edx, edx
test ecx, ecx
je 0x10122a9c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122a80
cmp edi, 0x559d81af
je 0x10122abb
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 0x10122a38
mov ecx, esi
jmp 0x10122a07
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x44]
jmp 0x10122a07
mov ecx, dword [0x103c3bec]
mov eax, dword [0x10c0dd10]
mov ebx, dword [ebp + 8]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
add ebx, ecx
mov dword [ebp - 0x60], ebx
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x64], eax
test dl, 1
jne 0x10122b70
or edx, 1
mov dword [0x103c3ba8], edx
mov dword [ebp - 4], 2
mov ebx, dword [0x103bf630]
cmp ebx, dword [0x103bf634]
je 0x10122b5b
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x10122b50
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10122b26
xor edx, edx
test ecx, ecx
je 0x10122b50
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122b33
cmp edi, 0x1eee87cc
je 0x10122c4c
add ebx, 4
cmp ebx, dword [0x103bf634]
jne 0x10122b13
xor ecx, ecx
mov ebx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
mov dword [0x103c3bec], 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.1000e050
mulss xmm0, xmm0
mulss xmm0, dword [0x1030bbe4]
call fcn.10262aab
mov eax, dword [0x103fd710]
movaps xmm3, xmm0
mulss xmm3, dword [0x1030bb50]
test al, 1
jne 0x10122dbe
or eax, 1
mov dword [0x103fd710], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x103bf630]
cmp ebx, dword [0x103bf634]
je 0x10122c38
nop
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x10122c2d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10122c03
xor edx, edx
test ecx, ecx
je 0x10122c2d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122c10
cmp edi, 0xfda73f75
je 0x10122cf6
add ebx, 4
cmp ebx, dword [0x103bf634]
jne 0x10122bf0
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x103fd730], ecx
jmp 0x10122dc4
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x10122ce4
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10122c96
cmp dword [ecx + 4], 0
jle 0x10122c96
push 0
mov edx, 0x559d81af
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10122c93
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 0x10122ca0
xor edx, edx
test ecx, ecx
je 0x10122ccc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122cb0
cmp edi, 0x559d81af
je 0x10122ceb
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 0x10122c65
mov ecx, esi
jmp 0x10122b5d
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x44]
jmp 0x10122b5d
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x10122d98
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 0x10122d41
cmp dword [ecx + 4], 0
jle 0x10122d41
push 0
mov edx, 0xca9f868d
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10122d3e
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 0x10122d50
xor edx, edx
test ecx, ecx
je 0x10122d7c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122d60
cmp edi, 0xca9f868d
je 0x10122da9
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 0x10122d10
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103fd730], ecx
jmp 0x10122dc4
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x44]
mov dword [0x103fd730], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10122dc4
mov ecx, dword [0x103fd730]
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x54]
mov cl, byte [ecx + eax]
mov eax, dword [edi]
mov byte [eax + 0xaee], cl
mov eax, dword [0x103fd700]
test al, 1
jne 0x10122f22
or eax, 1
mov dword [0x103fd700], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x103bf630]
cmp ebx, dword [0x103bf634]
je 0x10122e44
nop
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x10122e39
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10122e13
xor edx, edx
test ecx, ecx
je 0x10122e39
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122e20
cmp edi, 0xfda73f75
je 0x10122e5a
add ebx, 4
cmp ebx, dword [0x103bf634]
jne 0x10122e00
mov edi, dword [ebp - 0x54]
xor eax, eax
mov dword [0x103fd70c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122f27
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x10122ef8
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10122ea4
cmp dword [ecx + 4], 0
jle 0x10122ea4
push 0
mov edx, 0x74e01381
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10122ea1
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 0x10122eb0
xor edx, edx
test ecx, ecx
je 0x10122edc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122ec0
cmp edi, 0x74e01381
je 0x10122f0b
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 0x10122e73
mov edi, dword [ebp - 0x54]
mov eax, esi
mov dword [0x103fd70c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122f27
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov dword [0x103fd70c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122f27
mov eax, dword [0x103fd70c]
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx], 0xffffffff
mov eax, dword [edi]
setne cl
mov byte [eax + 0xaed], cl
cvttss2si ecx, dword [ebp - 0x58]
mov eax, dword [edi]
mov dword [eax + 0xaf0], ecx
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x58], eax
mov eax, dword [0x103c700c]
test al, 1
jne 0x101230b2
or eax, 1
mov dword [0x103c700c], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x103bf630]
cmp ebx, dword [0x103bf634]
je 0x10122fd4
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x10122fc9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10122fa0
xor edx, edx
test ecx, ecx
je 0x10122fc9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122fb0
cmp edi, 0x72e242a1
je 0x10122fea
add ebx, 4
cmp ebx, dword [0x103bf634]
jne 0x10122f88
mov edi, dword [ebp - 0x54]
xor eax, eax
mov dword [0x103c703c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101230b7
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x10123088
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10123034
cmp dword [ecx + 4], 0
jle 0x10123034
push 0
mov edx, 0x8937152d
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10123031
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 0x10123040
xor edx, edx
test ecx, ecx
je 0x1012306c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10123050
cmp edi, 0x8937152d
je 0x1012309b
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 0x10123003
mov edi, dword [ebp - 0x54]
mov eax, esi
mov dword [0x103c703c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101230b7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov dword [0x103c703c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101230b7
mov eax, dword [0x103c703c]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + eax]
test eax, eax
jle 0x101230f5
movaps xmm2, xmm3
movd xmm0, eax
mulss xmm2, dword [0x1030b7fc]
movaps xmm1, xmm3
cvtdq2ps xmm0, xmm0
subss xmm1, xmm2
mulss xmm1, dword [0x1030b7fc]
comiss xmm1, xmm0
jbe 0x101230f2
addss xmm0, xmm0
movaps xmm2, xmm3
subss xmm2, xmm0
movaps xmm3, xmm2
mov eax, dword [edi]
cvttss2si ecx, xmm3
mov dword [eax + 0xaf4], ecx
mov eax, dword [0x103fd724]
test al, 1
jne 0x10123252
or eax, 1
mov dword [0x103fd724], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x103bf630]
cmp ebx, dword [0x103bf634]
je 0x10123174
nop dword [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x10123169
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10123143
xor edx, edx
test ecx, ecx
je 0x10123169
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10123150
cmp esi, 0xfda73f75
je 0x1012318a
add ebx, 4
cmp ebx, dword [0x103bf634]
jne 0x10123130
mov edi, dword [ebp - 0x54]
xor eax, eax
mov dword [0x103fd720], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10123257
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x10123228
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x101231d4
cmp dword [ecx + 4], 0
jle 0x101231d4
push 0
mov edx, 0xe027ac16
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101231d1
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 0x101231e0
xor edx, edx
test ecx, ecx
je 0x1012320c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101231f0
cmp edi, 0xe027ac16
je 0x1012323b
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 0x101231a3
mov edi, dword [ebp - 0x54]
mov eax, esi
mov dword [0x103fd720], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10123257
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov dword [0x103fd720], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10123257
mov eax, dword [0x103fd720]
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx], 0
jne 0x10123287
lea eax, [ebp - 0x40]
mov ecx, 0x103b63d0
push eax
call fcn.10043350
mov dword [ebp - 4], 7
lea edx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov ebx, 5
cmovae edx, dword [ebp - 0x40]
jmp 0x101232ac
lea eax, [ebp - 0x28]
mov ecx, 0x103b6408
push eax
call fcn.10043350
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 0x101232b4
sub ecx, esi
push ecx
mov ecx, dword [edi]
push edx
add ecx, 0xaf8
call fcn.100463a0
test bl, 2
je 0x101232dc
lea ecx, [ebp - 0x28]
and ebx, 0xfffffffd
call fcn.1002aa60
test bl, 1
je 0x101232e9
lea ecx, [ebp - 0x40]
call fcn.1002aa60
mov eax, dword [edi]
mov byte [eax + 0xaec], 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.1023505f
mov esp, ebp
pop ebp
ret 4