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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1022e8d9
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x102d5080]
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 [0x103af054]
test al, 1
jne 0x101221ac
or eax, 1
mov dword [0x103af054], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x101220d4
nop
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x101220c9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x101220a3
xor edx, edx
test ecx, ecx
je 0x101220c9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101220b0
cmp esi, 0xfda73f75
je 0x101220e7
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10122090
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103af084], eax
jmp 0x101221b1
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x10122188
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10122131
cmp dword [ecx + 4], 0
jle 0x10122131
push 0
mov edx, 0x2c4cfdac
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1012212e
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 0x10122140
xor edx, edx
test ecx, ecx
je 0x1012216c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122150
cmp edi, 0x2c4cfdac
je 0x10122198
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 0x10122100
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103af084], eax
jmp 0x101221b1
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x103af084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101221b1
mov eax, dword [0x103af084]
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
movss xmm1, dword [eax + ecx]
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0xf0]
subss xmm1, dword [eax + 0x10]
comiss xmm0, xmm1
movss dword [ebp - 0x58], xmm1
jae 0x10122b42
mov edx, dword [0x10375508]
test dl, 1
jne 0x10122316
or edx, 1
mov dword [0x10375508], edx
mov dword [ebp - 4], 1
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10122255
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x1012224a
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10122224
xor edx, edx
test ecx, ecx
je 0x1012224a
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122231
cmp edi, 0x1eee87cc
je 0x1012226f
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10122211
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10375508]
mov dword [0x1037554c], ecx
jmp 0x1012231c
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x10122304
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x101222b9
cmp dword [ecx + 4], 0
jle 0x101222b9
push 0
mov edx, 0x559d81af
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101222b6
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 0x101222c2
xor edx, edx
test ecx, ecx
je 0x101222ec
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101222d0
cmp edi, 0x559d81af
je 0x1012230b
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 0x10122288
mov ecx, esi
jmp 0x10122257
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x44]
jmp 0x10122257
mov ecx, dword [0x1037554c]
mov eax, dword [0x10bbf240]
mov ebx, dword [ebp + 8]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
add ebx, ecx
mov dword [ebp - 0x60], ebx
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x64], eax
test dl, 1
jne 0x101223c0
or edx, 1
mov dword [0x10375508], edx
mov dword [ebp - 4], 2
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x101223ab
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x101223a0
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10122376
xor edx, edx
test ecx, ecx
je 0x101223a0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122383
cmp edi, 0x1eee87cc
je 0x1012249c
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10122363
xor ecx, ecx
mov ebx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
mov dword [0x1037554c], 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.1000ded0
mulss xmm0, xmm0
mulss xmm0, dword [0x102bdb1c]
call fcn.1021f6db
mov eax, dword [0x103af060]
movaps xmm3, xmm0
mulss xmm3, dword [0x102bda88]
test al, 1
jne 0x1012260e
or eax, 1
mov dword [0x103af060], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10122488
nop
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x1012247d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10122453
xor edx, edx
test ecx, ecx
je 0x1012247d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122460
cmp edi, 0xfda73f75
je 0x10122546
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10122440
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x103af080], ecx
jmp 0x10122614
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x10122534
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x101224e6
cmp dword [ecx + 4], 0
jle 0x101224e6
push 0
mov edx, 0x559d81af
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101224e3
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 0x101224f0
xor edx, edx
test ecx, ecx
je 0x1012251c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122500
cmp edi, 0x559d81af
je 0x1012253b
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 0x101224b5
mov ecx, esi
jmp 0x101223ad
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x44]
jmp 0x101223ad
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x101225e8
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 0x10122591
cmp dword [ecx + 4], 0
jle 0x10122591
push 0
mov edx, 0xca9f868d
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1012258e
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 0x101225a0
xor edx, edx
test ecx, ecx
je 0x101225cc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101225b0
cmp edi, 0xca9f868d
je 0x101225f9
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 0x10122560
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103af080], ecx
jmp 0x10122614
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x44]
mov dword [0x103af080], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10122614
mov ecx, dword [0x103af080]
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x54]
mov cl, byte [ecx + eax]
mov eax, dword [edi]
mov byte [eax + 0xaca], cl
mov eax, dword [0x103af050]
test al, 1
jne 0x10122772
or eax, 1
mov dword [0x103af050], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10122694
nop
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x10122689
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10122663
xor edx, edx
test ecx, ecx
je 0x10122689
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122670
cmp edi, 0xfda73f75
je 0x101226aa
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10122650
mov edi, dword [ebp - 0x54]
xor eax, eax
mov dword [0x103af05c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122777
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x10122748
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x101226f4
cmp dword [ecx + 4], 0
jle 0x101226f4
push 0
mov edx, 0x74e01381
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101226f1
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 0x10122700
xor edx, edx
test ecx, ecx
je 0x1012272c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122710
cmp edi, 0x74e01381
je 0x1012275b
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 0x101226c3
mov edi, dword [ebp - 0x54]
mov eax, esi
mov dword [0x103af05c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122777
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov dword [0x103af05c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122777
mov eax, dword [0x103af05c]
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx], 0xffffffff
mov eax, dword [edi]
setne cl
mov byte [eax + 0xac9], cl
cvttss2si ecx, dword [ebp - 0x58]
mov eax, dword [edi]
mov dword [eax + 0xacc], ecx
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x58], eax
mov eax, dword [0x1037896c]
test al, 1
jne 0x10122902
or eax, 1
mov dword [0x1037896c], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10122824
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x10122819
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101227f0
xor edx, edx
test ecx, ecx
je 0x10122819
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122800
cmp edi, 0x72e242a1
je 0x1012283a
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x101227d8
mov edi, dword [ebp - 0x54]
xor eax, eax
mov dword [0x103789a0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122907
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x101228d8
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10122884
cmp dword [ecx + 4], 0
jle 0x10122884
push 0
mov edx, 0x8937152d
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10122881
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 0x10122890
xor edx, edx
test ecx, ecx
je 0x101228bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101228a0
cmp edi, 0x8937152d
je 0x101228eb
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 0x10122853
mov edi, dword [ebp - 0x54]
mov eax, esi
mov dword [0x103789a0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122907
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov dword [0x103789a0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122907
mov eax, dword [0x103789a0]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + eax]
test eax, eax
jle 0x10122945
movaps xmm2, xmm3
movd xmm0, eax
mulss xmm2, dword [0x102bd73c]
movaps xmm1, xmm3
cvtdq2ps xmm0, xmm0
subss xmm1, xmm2
mulss xmm1, dword [0x102bd73c]
comiss xmm1, xmm0
jbe 0x10122942
addss xmm0, xmm0
movaps xmm2, xmm3
subss xmm2, xmm0
movaps xmm3, xmm2
mov eax, dword [edi]
cvttss2si ecx, xmm3
mov dword [eax + 0xad0], ecx
mov eax, dword [0x103af074]
test al, 1
jne 0x10122aa2
or eax, 1
mov dword [0x103af074], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x101229c4
nop dword [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x101229b9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10122993
xor edx, edx
test ecx, ecx
je 0x101229b9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101229a0
cmp esi, 0xfda73f75
je 0x101229da
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10122980
mov edi, dword [ebp - 0x54]
xor eax, eax
mov dword [0x103af070], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122aa7
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x10122a78
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10122a24
cmp dword [ecx + 4], 0
jle 0x10122a24
push 0
mov edx, 0xe027ac16
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10122a21
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 0x10122a30
xor edx, edx
test ecx, ecx
je 0x10122a5c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10122a40
cmp edi, 0xe027ac16
je 0x10122a8b
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 0x101229f3
mov edi, dword [ebp - 0x54]
mov eax, esi
mov dword [0x103af070], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122aa7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov dword [0x103af070], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10122aa7
mov eax, dword [0x103af070]
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx], 0
jne 0x10122ad7
lea eax, [ebp - 0x40]
mov ecx, 0x10368050
push eax
call fcn.10043290
mov dword [ebp - 4], 7
lea edx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0xf
mov ebx, 5
cmova edx, dword [ebp - 0x40]
jmp 0x10122afc
lea eax, [ebp - 0x28]
mov ecx, 0x103680a0
push eax
call fcn.10043290
mov dword [ebp - 4], 8
lea edx, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
mov ebx, 0xa
cmova 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 0x10122b04
sub ecx, esi
push ecx
mov ecx, dword [edi]
push edx
add ecx, 0xad4
call fcn.100462a0
test bl, 2
je 0x10122b2c
lea ecx, [ebp - 0x28]
and ebx, 0xfffffffd
call fcn.1002b0f0
test bl, 1
je 0x10122b39
lea ecx, [ebp - 0x40]
call fcn.1002b0f0
mov eax, dword [edi]
mov byte [eax + 0xac8], 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.101f36c3
mov esp, ebp
pop ebp
ret 4