Function at 0x100c9cb4
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x964
mov eax, dword [0x101bba9c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x780], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x76c], eax
lea eax, [ebp - 0x794]
push eax
call fcn.100cc464
mov eax, dword [ebp - 0x794]
and eax, 0x1f
pop ecx
cmp al, 0x1f
jne 0x100c8c56
mov byte [ebp - 0x78c], 0
jmp 0x100c8c6a
lea eax, [ebp - 0x794]
push eax
call fcn.100cc4cc
pop ecx
mov byte [ebp - 0x78c], 1
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x20
pop edi
test esi, esi
jg 0x100c8c85
jl 0x100c8c80
test ebx, ebx
jae 0x100c8c85
push 0x2d
pop eax
jmp 0x100c8c87
mov eax, edi
mov ecx, dword [ebp - 0x780]
mov edx, dword [ebp - 0x76c]
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 8], edx
mov ecx, esi
and ecx, 0x7ff00000
or eax, ecx
jne 0x100c8ccc
mov ecx, esi
mov eax, ebx
and ecx, 0xfffff
or eax, ecx
jne 0x100c8ccc
mov eax, dword [ebp - 0x780]
push 0x101aef6c
push dword [ebp + 0x1c]
and dword [eax + 4], 0
push edx
jmp 0x100c9f34
lea eax, [ebp + 8]
push eax
call fcn.100b9d4d
pop ecx
test eax, eax
je 0x100c8ce7
mov ecx, dword [ebp - 0x780]
mov dword [ecx + 4], 1
sub eax, 1
je 0x100c9f42
sub eax, 1
je 0x100c9f25
sub eax, 1
je 0x100c9f1e
sub eax, 1
je 0x100c9f17
mov eax, dword [ebp + 0x10]
and esi, 0x7fffffff
and dword [ebp - 0x784], 0
inc eax
mov dword [ebp + 0xc], esi
mov dword [ebp + 8], ebx
fld qword [ebp + 8]
fst qword [ebp - 0x778]
mov esi, dword [ebp - 0x774]
mov ecx, esi
mov dword [ebp - 0x77c], eax
shr ecx, 0x14
mov eax, ecx
and eax, 0x7ff
or eax, 0
jne 0x100c8d4f
xor ebx, ebx
xor edx, edx
inc ebx
jmp 0x100c8d58
xor eax, eax
mov edx, 0x100000
xor ebx, ebx
mov edi, dword [ebp - 0x778]
and esi, 0xfffff
add edi, eax
mov dword [ebp - 0x75c], edi
adc esi, edx
and ecx, 0x7ff
lea eax, [ecx + ebx]
mov dword [ebp - 0x748], eax
call fcn.100cc520
push ecx
push ecx
fstp qword [esp]
call fcn.100cc630
pop ecx
pop ecx
call fcn.100ce1f0
mov ecx, eax
mov dword [ebp - 0x768], ecx
push 0x20
pop edi
cmp ecx, 0x7fffffff
je 0x100c8dae
cmp ecx, 0x80000000
jne 0x100c8db6
xor eax, eax
mov dword [ebp - 0x768], eax
mov edx, dword [ebp - 0x748]
xor ebx, ebx
mov eax, dword [ebp - 0x75c]
test esi, esi
mov dword [ebp - 0x1d0], eax
setne bl
mov dword [ebp - 0x1cc], esi
and dword [ebp - 0x3a4], 0
inc ebx
mov dword [ebp - 0x1d4], ebx
cmp edx, 0x433
jb 0x100c91c7
and dword [ebp - 0x570], 0
mov dword [ebp - 0x56c], 0x100000
mov dword [ebp - 0x574], 2
test esi, esi
je 0x100c9006
xor ecx, ecx
mov eax, dword [ebp + ecx - 0x570]
cmp eax, dword [ebp + ecx - 0x1d0]
jne 0x100c9006
add ecx, 4
cmp ecx, 8
jne 0x100c8e14
lea eax, [edx - 0x431]
mov ecx, edi
mov esi, eax
xor edx, edx
and eax, 0x1f
shr esi, 5
sub ecx, eax
mov dword [ebp - 0x748], eax
xor eax, eax
mov dword [ebp - 0x74c], esi
inc eax
mov dword [ebp - 0x770], ecx
call fcn.100ce010
mov ecx, dword [ebp + ebx*4 - 0x1d4]
dec eax
and dword [ebp - 0x774], 0
mov dword [ebp - 0x758], eax
not eax
mov dword [ebp - 0x75c], eax
bsr eax, ecx
je 0x100c8e83
inc eax
jmp 0x100c8e85
xor eax, eax
lea edx, [ebx + esi]
sub edi, eax
mov dword [ebp - 0x754], edi
mov dword [ebp - 0x764], edx
cmp edx, 0x73
jne 0x100c8ea7
cmp dword [ebp - 0x748], edi
jbe 0x100c8ea7
mov cl, 1
jmp 0x100c8ea9
xor cl, cl
cmp edx, 0x73
ja 0x100c8f9f
test cl, cl
jne 0x100c8f9f
cmp edx, 0x72
jb 0x100c8ec8
push 0x72
pop edx
mov dword [ebp - 0x764], edx
mov ecx, edx
mov dword [ebp - 0x760], ecx
cmp edx, 0xffffffff
je 0x100c8f69
mov edi, dword [ebp - 0x74c]
mov esi, edx
sub esi, edi
lea edx, [ebp - 0x1d0]
lea edx, [edx + esi*4]
cmp ecx, edi
jb 0x100c8f57
cmp esi, ebx
jae 0x100c8ef8
mov eax, dword [edx]
jmp 0x100c8efa
xor eax, eax
mov dword [ebp - 0x750], eax
lea eax, [esi - 1]
cmp eax, ebx
jae 0x100c8f0c
mov eax, dword [edx - 4]
jmp 0x100c8f0e
xor eax, eax
and eax, dword [ebp - 0x75c]
sub edx, 4
mov ecx, dword [ebp - 0x770]
mov ebx, dword [ebp - 0x750]
and ebx, dword [ebp - 0x758]
shr eax, cl
mov ecx, dword [ebp - 0x748]
shl ebx, cl
mov ecx, dword [ebp - 0x760]
or eax, ebx
mov dword [ebp + ecx*4 - 0x1d0], eax
dec ecx
dec esi
mov dword [ebp - 0x760], ecx
cmp ecx, 0xffffffff
je 0x100c8f57
mov ebx, dword [ebp - 0x1d4]
jmp 0x100c8eec
mov edx, dword [ebp - 0x764]
mov edi, dword [ebp - 0x754]
mov esi, dword [ebp - 0x74c]
test esi, esi
je 0x100c8f7f
mov ecx, esi
lea edi, [ebp - 0x1d0]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x754]
mov ebx, 0x1cc
cmp dword [ebp - 0x748], edi
jbe 0x100c8f97
lea eax, [edx + 1]
mov dword [ebp - 0x1d4], eax
jmp 0x100c8fca
mov dword [ebp - 0x1d4], edx
jmp 0x100c8fca
xor eax, eax
mov ebx, 0x1cc
push eax
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x1d0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
and dword [ebp - 0x56c], 0
xor ecx, ecx
push 4
pop eax
inc ecx
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x574], ecx
mov dword [ebp - 0x3a4], ecx
push eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x3a0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
jmp 0x100c93e3
lea eax, [edx - 0x432]
mov ecx, edi
mov esi, eax
xor edx, edx
and eax, 0x1f
shr esi, 5
sub ecx, eax
mov dword [ebp - 0x748], eax
xor eax, eax
mov dword [ebp - 0x750], esi
inc eax
mov dword [ebp - 0x75c], ecx
call fcn.100ce010
mov ecx, dword [ebp + ebx*4 - 0x1d4]
dec eax
and dword [ebp - 0x774], 0
mov dword [ebp - 0x770], eax
not eax
mov dword [ebp - 0x758], eax
bsr eax, ecx
je 0x100c9059
inc eax
jmp 0x100c905b
xor eax, eax
lea edx, [ebx + esi]
sub edi, eax
mov dword [ebp - 0x754], edi
mov dword [ebp - 0x760], edx
cmp edx, 0x73
jne 0x100c907d
cmp dword [ebp - 0x748], edi
jbe 0x100c907d
mov cl, 1
jmp 0x100c907f
xor cl, cl
cmp edx, 0x73
ja 0x100c9175
test cl, cl
jne 0x100c9175
cmp edx, 0x72
jb 0x100c909e
push 0x72
pop edx
mov dword [ebp - 0x760], edx
mov ecx, edx
mov dword [ebp - 0x764], ecx
cmp edx, 0xffffffff
je 0x100c913f
mov edi, dword [ebp - 0x750]
mov esi, edx
sub esi, edi
lea edx, [ebp - 0x1d0]
lea edx, [edx + esi*4]
cmp ecx, edi
jb 0x100c912d
cmp esi, ebx
jae 0x100c90ce
mov eax, dword [edx]
jmp 0x100c90d0
xor eax, eax
mov dword [ebp - 0x74c], eax
lea eax, [esi - 1]
cmp eax, ebx
jae 0x100c90e2
mov eax, dword [edx - 4]
jmp 0x100c90e4
xor eax, eax
and eax, dword [ebp - 0x758]
sub edx, 4
mov ecx, dword [ebp - 0x75c]
mov ebx, dword [ebp - 0x74c]
and ebx, dword [ebp - 0x770]
shr eax, cl
mov ecx, dword [ebp - 0x748]
shl ebx, cl
mov ecx, dword [ebp - 0x764]
or eax, ebx
mov dword [ebp + ecx*4 - 0x1d0], eax
dec ecx
dec esi
mov dword [ebp - 0x764], ecx
cmp ecx, 0xffffffff
je 0x100c912d
mov ebx, dword [ebp - 0x1d4]
jmp 0x100c90c2
mov edi, dword [ebp - 0x754]
mov edx, dword [ebp - 0x760]
mov esi, dword [ebp - 0x750]
test esi, esi
je 0x100c9155
mov ecx, esi
lea edi, [ebp - 0x1d0]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x754]
mov ebx, 0x1cc
cmp dword [ebp - 0x748], edi
jbe 0x100c916d
lea eax, [edx + 1]
mov dword [ebp - 0x1d4], eax
jmp 0x100c91a0
mov dword [ebp - 0x1d4], edx
jmp 0x100c91a0
xor eax, eax
mov ebx, 0x1cc
push eax
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x1d0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
and dword [ebp - 0x56c], 0
xor eax, eax
inc eax
mov dword [ebp - 0x570], 2
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x3a4], eax
push 4
jmp 0x100c8fea
cmp edx, 0x35
je 0x100c92e2
and dword [ebp - 0x570], 0
mov dword [ebp - 0x56c], 0x100000
mov dword [ebp - 0x574], 2
test esi, esi
je 0x100c92e2
xor ecx, ecx
mov eax, dword [ebp + ecx - 0x570]
cmp eax, dword [ebp + ecx - 0x1d0]
jne 0x100c92e2
add ecx, 4
cmp ecx, 8
jne 0x100c91f5
and dword [ebp - 0x774], 0
bsr eax, esi
je 0x100c9220
inc eax
jmp 0x100c9222
xor eax, eax
mov esi, ebx
sub edi, eax
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x75c], esi
mov ecx, esi
lea eax, [eax + esi*4]
mov dword [ebp - 0x758], eax
mov esi, eax
cmp ecx, ebx
jae 0x100c9252
mov edx, dword [ebp + ecx*4 - 0x1d0]
mov dword [ebp - 0x74c], edx
jmp 0x100c9259
and dword [ebp - 0x74c], 0
lea eax, [ecx - 1]
cmp eax, ebx
jae 0x100c9264
mov edx, dword [esi]
jmp 0x100c9266
xor edx, edx
mov eax, dword [ebp - 0x74c]
sub esi, 4
shr edx, 0x1e
shl eax, 2
or edx, eax
mov dword [ebp + ecx*4 - 0x1d0], edx
dec ecx
cmp ecx, 0xffffffff
je 0x100c928c
mov ebx, dword [ebp - 0x1d4]
jmp 0x100c923f
mov esi, dword [ebp - 0x75c]
cmp edi, 2
jae 0x100c92a2
lea eax, [esi + 1]
mov dword [ebp - 0x1d4], eax
jmp 0x100c92a8
mov dword [ebp - 0x1d4], esi
mov ebx, 0x435
lea eax, [ebp - 0x570]
sub ebx, dword [ebp - 0x748]
mov edi, ebx
shr edi, 5
mov esi, edi
shl esi, 2
push esi
push 0
push eax
call fcn.10079280
and ebx, 0x1f
xor eax, eax
inc eax
mov ecx, ebx
shl eax, cl
mov dword [ebp + esi - 0x570], eax
jmp 0x100c93b4
mov eax, dword [ebp + ebx*4 - 0x1d4]
and dword [ebp - 0x774], 0
bsr eax, eax
je 0x100c92f8
inc eax
jmp 0x100c92fa
xor eax, eax
mov esi, ebx
sub edi, eax
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x75c], esi
mov ecx, esi
lea eax, [eax + esi*4]
mov dword [ebp - 0x758], eax
mov esi, eax
cmp ecx, ebx
jae 0x100c932a
mov edx, dword [ebp + ecx*4 - 0x1d0]
mov dword [ebp - 0x74c], edx
jmp 0x100c9331
and dword [ebp - 0x74c], 0
lea eax, [ecx - 1]
cmp eax, ebx
jae 0x100c933c
mov edx, dword [esi]
jmp 0x100c933e
xor edx, edx
mov eax, dword [ebp - 0x74c]
sub esi, 4
shr edx, 0x1f
add eax, eax
or edx, eax
mov dword [ebp + ecx*4 - 0x1d0], edx
dec ecx
cmp ecx, 0xffffffff
je 0x100c9363
mov ebx, dword [ebp - 0x1d4]
jmp 0x100c9317
mov esi, dword [ebp - 0x75c]
cmp edi, 1
jae 0x100c9379
lea eax, [esi + 1]
mov dword [ebp - 0x1d4], eax
jmp 0x100c937f
mov dword [ebp - 0x1d4], esi
mov ebx, 0x434
lea eax, [ebp - 0x570]
sub ebx, dword [ebp - 0x748]
mov edi, ebx
shr edi, 5
mov esi, edi
shl esi, 2
push esi
push 0
push eax
call fcn.10079280
and ebx, 0x1f
xor eax, eax
inc eax
mov ecx, ebx
shl eax, cl
mov dword [ebp + esi - 0x570], eax
lea eax, [edi + 1]
mov ebx, 0x1cc
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x3a4], eax
shl eax, 2
push eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x3a0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x1c
mov eax, dword [ebp - 0x768]
xor edx, edx
push 0xa
pop ecx
mov dword [ebp - 0x75c], ecx
test eax, eax
js 0x100c9850
div ecx
mov dword [ebp - 0x770], eax
mov ecx, edx
mov dword [ebp - 0x784], ecx
test eax, eax
je 0x100c9776
cmp eax, 0x26
jbe 0x100c941c
push 0x26
pop eax
movzx ecx, byte [eax*4 + 0x10170dde]
movzx esi, byte [eax*4 + 0x10170ddf]
mov edi, ecx
mov dword [ebp - 0x750], eax
shl edi, 2
push edi
lea eax, [ecx + esi]
mov dword [ebp - 0x574], eax
lea eax, [ebp - 0x570]
push 0
push eax
call fcn.10079280
mov eax, esi
shl eax, 2
push eax
mov eax, dword [ebp - 0x750]
movzx eax, word [eax*4 + 0x10170ddc]
lea eax, [eax*4 + 0x1016c538]
push eax
lea eax, [ebp - 0x570]
add eax, edi
push eax
call fcn.10078d00
mov edi, dword [ebp - 0x574]
add esp, 0x18
cmp edi, 1
ja 0x100c94f9
mov edi, dword [ebp - 0x570]
test edi, edi
jne 0x100c94a4
xor eax, eax
mov dword [ebp - 0x744], eax
mov dword [ebp - 0x3a4], eax
jmp 0x100c973a
cmp edi, 1
je 0x100c9752
cmp dword [ebp - 0x3a4], 0
je 0x100c9752
mov eax, dword [ebp - 0x3a4]
xor ecx, ecx
xor esi, esi
mov ebx, eax
mov eax, edi
mul dword [ebp + esi*4 - 0x3a0]
add eax, ecx
mov dword [ebp + esi*4 - 0x3a0], eax
adc edx, 0
inc esi
mov ecx, edx
cmp esi, ebx
jne 0x100c94c6
jmp 0x100c9597
mov dword [ebp + eax*4 - 0x3a0], ecx
inc dword [ebp - 0x3a4]
jmp 0x100c9752
cmp dword [ebp - 0x3a4], 1
ja 0x100c95cd
mov esi, dword [ebp - 0x3a0]
mov eax, edi
shl eax, 2
push eax
lea eax, [ebp - 0x570]
mov dword [ebp - 0x758], esi
push eax
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x3a4], edi
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
test esi, esi
jne 0x100c9553
xor eax, eax
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x3a4], eax
push eax
lea eax, [ebp - 0x570]
jmp 0x100c9741
cmp esi, 1
je 0x100c9752
cmp dword [ebp - 0x3a4], 0
je 0x100c9752
mov eax, dword [ebp - 0x3a4]
xor ecx, ecx
mov edi, dword [ebp - 0x758]
xor esi, esi
mov ebx, eax
mov eax, edi
mul dword [ebp + esi*4 - 0x3a0]
add eax, ecx
mov dword [ebp + esi*4 - 0x3a0], eax
adc edx, 0
inc esi
mov ecx, edx
cmp esi, ebx
jne 0x100c957b
mov ebx, 0x1cc
test ecx, ecx
je 0x100c9752
mov eax, dword [ebp - 0x3a4]
cmp eax, 0x73
jb 0x100c94e7
xor eax, eax
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x3a4], eax
push eax
lea eax, [ebp - 0x570]
jmp 0x100c97b5
cmp edi, dword [ebp - 0x3a4]
lea edx, [ebp - 0x570]
setb al
jb 0x100c95e4
lea edx, [ebp - 0x3a0]
mov dword [ebp - 0x748], edx
lea ecx, [ebp - 0x3a0]
test al, al
jne 0x100c95fa
lea ecx, [ebp - 0x570]
mov dword [ebp - 0x74c], ecx
test al, al
je 0x100c960e
mov ecx, edi
mov dword [ebp - 0x760], edi
jmp 0x100c961a
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x760], ecx
test al, al
je 0x100c9624
mov edi, dword [ebp - 0x3a4]
xor eax, eax
xor esi, esi
mov dword [ebp - 0x744], eax
test ecx, ecx
je 0x100c9731
cmp dword [edx + esi*4], 0
jne 0x100c965a
cmp esi, eax
jne 0x100c9728
and dword [ebp + esi*4 - 0x740], 0
lea eax, [esi + 1]
mov dword [ebp - 0x744], eax
jmp 0x100c9728
xor edx, edx
mov ecx, esi
and dword [ebp - 0x754], edx
mov dword [ebp - 0x764], edx
test edi, edi
je 0x100c9713
cmp ecx, 0x73
je 0x100c96db
cmp ecx, eax
jne 0x100c9692
mov eax, dword [ebp - 0x754]
and dword [ebp + ecx*4 - 0x740], 0
inc eax
add eax, esi
mov dword [ebp - 0x744], eax
mov eax, dword [ebp - 0x754]
mov edx, dword [ebp - 0x74c]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x748]
mul dword [edx + esi*4]
add eax, dword [ebp - 0x764]
adc edx, 0
add dword [ebp + ecx*4 - 0x740], eax
mov eax, dword [ebp - 0x754]
adc edx, 0
inc eax
inc ecx
mov dword [ebp - 0x754], eax
cmp eax, edi
mov dword [ebp - 0x764], edx
mov eax, dword [ebp - 0x744]
jne 0x100c9672
test edx, edx
je 0x100c9713
cmp ecx, 0x73
je 0x100c97a0
cmp ecx, eax
jne 0x100c96fd
and dword [ebp + ecx*4 - 0x740], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x744], eax
mov eax, edx
xor edx, edx
add dword [ebp + ecx*4 - 0x740], eax
mov eax, dword [ebp - 0x744]
adc edx, edx
inc ecx
jmp 0x100c96db
cmp ecx, 0x73
je 0x100c97a0
mov ecx, dword [ebp - 0x760]
mov edx, dword [ebp - 0x748]
inc esi
cmp esi, ecx
jne 0x100c9636
mov dword [ebp - 0x3a4], eax
shl eax, 2
push eax
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x3a0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
mov al, 1
test al, al
je 0x100c97ca
mov eax, dword [ebp - 0x770]
sub eax, dword [ebp - 0x750]
mov dword [ebp - 0x770], eax
jne 0x100c9414
mov ecx, dword [ebp - 0x784]
test ecx, ecx
je 0x100c9c86
mov eax, dword [ecx*4 + 0x1016ced4]
mov dword [ebp - 0x784], eax
test eax, eax
jne 0x100c97ec
xor eax, eax
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x3a4], eax
push eax
jmp 0x100c97da
xor eax, eax
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x3a4], eax
push eax
lea eax, [ebp - 0x960]
push eax
lea eax, [ebp - 0x3a0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
xor al, al
jmp 0x100c9754
and dword [ebp - 0x964], 0
and dword [ebp - 0x3a4], 0
push 0
lea eax, [ebp - 0x960]
push eax
lea eax, [ebp - 0x3a0]
jmp 0x100c9c7c
cmp eax, 1
je 0x100c9c86
mov ecx, dword [ebp - 0x3a4]
test ecx, ecx
je 0x100c9c86
xor edi, edi
xor esi, esi
mul dword [ebp + esi*4 - 0x3a0]
add eax, edi
mov dword [ebp + esi*4 - 0x3a0], eax
mov eax, dword [ebp - 0x784]
adc edx, 0
inc esi
mov edi, edx
cmp esi, ecx
jne 0x100c9807
test edi, edi
je 0x100c9c86
mov eax, dword [ebp - 0x3a4]
cmp eax, 0x73
jae 0x100c978f
mov dword [ebp + eax*4 - 0x3a0], edi
inc dword [ebp - 0x3a4]
jmp 0x100c9c86
neg eax
div ecx
mov dword [ebp - 0x760], eax
mov ecx, edx
mov dword [ebp - 0x774], ecx
test eax, eax
je 0x100c9bab
cmp eax, 0x26
jbe 0x100c9872
push 0x26
pop eax
movzx ecx, byte [eax*4 + 0x10170dde]
movzx esi, byte [eax*4 + 0x10170ddf]
mov edi, ecx
mov dword [ebp - 0x748], eax
shl edi, 2
push edi
lea eax, [ecx + esi]
mov dword [ebp - 0x574], eax
lea eax, [ebp - 0x570]
push 0
push eax
call fcn.10079280
mov eax, esi
shl eax, 2
push eax
mov eax, dword [ebp - 0x748]
movzx eax, word [eax*4 + 0x10170ddc]
lea eax, [eax*4 + 0x1016c538]
push eax
lea eax, [ebp - 0x570]
add eax, edi
push eax
call fcn.10078d00
mov edi, dword [ebp - 0x574]
add esp, 0x18
cmp edi, 1
ja 0x100c9971
mov edi, dword [ebp - 0x570]
test edi, edi
jne 0x100c9905
xor eax, eax
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x1d4], eax
push eax
lea eax, [ebp - 0x960]
jmp 0x100c9b72
cmp edi, 1
je 0x100c9b83
cmp dword [ebp - 0x1d4], 0
je 0x100c9b83
mov eax, dword [ebp - 0x1d4]
xor ecx, ecx
xor esi, esi
mov ebx, eax
mov eax, edi
mul dword [ebp + esi*4 - 0x1d0]
add eax, ecx
mov dword [ebp + esi*4 - 0x1d0], eax
adc edx, 0
inc esi
mov ecx, edx
cmp esi, ebx
jne 0x100c9927
mov ebx, 0x1cc
test ecx, ecx
je 0x100c9b83
mov eax, dword [ebp - 0x1d4]
cmp eax, 0x73
jae 0x100c9c21
mov dword [ebp + eax*4 - 0x1d0], ecx
inc dword [ebp - 0x1d4]
jmp 0x100c9b83
cmp dword [ebp - 0x1d4], 1
ja 0x100c99fe
mov esi, dword [ebp - 0x1d0]
mov eax, edi
shl eax, 2
push eax
lea eax, [ebp - 0x570]
mov dword [ebp - 0x784], esi
push eax
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x1d4], edi
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
test esi, esi
je 0x100c98eb
cmp esi, 1
je 0x100c9b83
cmp dword [ebp - 0x1d4], 0
je 0x100c9b83
mov eax, dword [ebp - 0x1d4]
xor ecx, ecx
mov edi, dword [ebp - 0x784]
xor esi, esi
mov ebx, eax
mov eax, edi
mul dword [ebp + esi*4 - 0x1d0]
add eax, ecx
mov dword [ebp + esi*4 - 0x1d0], eax
adc edx, 0
inc esi
mov ecx, edx
cmp esi, ebx
jne 0x100c99dd
jmp 0x100c9943
cmp edi, dword [ebp - 0x1d4]
lea edx, [ebp - 0x570]
setb al
jb 0x100c9a15
lea edx, [ebp - 0x1d0]
mov dword [ebp - 0x750], edx
lea ecx, [ebp - 0x1d0]
test al, al
jne 0x100c9a2b
lea ecx, [ebp - 0x570]
mov dword [ebp - 0x770], ecx
test al, al
je 0x100c9a3f
mov ecx, edi
mov dword [ebp - 0x764], edi
jmp 0x100c9a4b
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x764], ecx
test al, al
je 0x100c9a55
mov edi, dword [ebp - 0x1d4]
xor eax, eax
xor esi, esi
mov dword [ebp - 0x744], eax
test ecx, ecx
je 0x100c9b62
cmp dword [edx + esi*4], 0
jne 0x100c9a8b
cmp esi, eax
jne 0x100c9b59
and dword [ebp + esi*4 - 0x740], 0
lea eax, [esi + 1]
mov dword [ebp - 0x744], eax
jmp 0x100c9b59
xor edx, edx
mov ecx, esi
and dword [ebp - 0x754], edx
mov dword [ebp - 0x74c], edx
test edi, edi
je 0x100c9b44
cmp ecx, 0x73
je 0x100c9b0c
cmp ecx, eax
jne 0x100c9ac3
mov eax, dword [ebp - 0x754]
and dword [ebp + ecx*4 - 0x740], 0
inc eax
add eax, esi
mov dword [ebp - 0x744], eax
mov eax, dword [ebp - 0x754]
mov edx, dword [ebp - 0x770]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x750]
mul dword [edx + esi*4]
add eax, dword [ebp - 0x74c]
adc edx, 0
add dword [ebp + ecx*4 - 0x740], eax
mov eax, dword [ebp - 0x754]
adc edx, 0
inc eax
inc ecx
mov dword [ebp - 0x754], eax
cmp eax, edi
mov dword [ebp - 0x74c], edx
mov eax, dword [ebp - 0x744]
jne 0x100c9aa3
test edx, edx
je 0x100c9b44
cmp ecx, 0x73
je 0x100c9c21
cmp ecx, eax
jne 0x100c9b2e
and dword [ebp + ecx*4 - 0x740], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x744], eax
mov eax, edx
xor edx, edx
add dword [ebp + ecx*4 - 0x740], eax
mov eax, dword [ebp - 0x744]
adc edx, edx
inc ecx
jmp 0x100c9b0c
cmp ecx, 0x73
je 0x100c9c21
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x750]
inc esi
cmp esi, ecx
jne 0x100c9a67
mov dword [ebp - 0x1d4], eax
shl eax, 2
push eax
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x1d0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
mov al, 1
test al, al
je 0x100c9c4e
mov eax, dword [ebp - 0x760]
sub eax, dword [ebp - 0x748]
mov dword [ebp - 0x760], eax
jne 0x100c986a
mov ecx, dword [ebp - 0x774]
test ecx, ecx
je 0x100c9c86
mov eax, dword [ecx*4 + 0x1016ced4]
mov dword [ebp - 0x774], eax
test eax, eax
je 0x100c9c60
cmp eax, 1
je 0x100c9c86
mov ecx, dword [ebp - 0x1d4]
test ecx, ecx
je 0x100c9c86
xor edi, edi
xor esi, esi
mul dword [ebp + esi*4 - 0x1d0]
add eax, edi
mov dword [ebp + esi*4 - 0x1d0], eax
mov eax, dword [ebp - 0x774]
adc edx, 0
inc esi
mov edi, edx
cmp esi, ecx
jne 0x100c9be3
test edi, edi
je 0x100c9c86
mov eax, dword [ebp - 0x1d4]
cmp eax, 0x73
jae 0x100c9c60
mov dword [ebp + eax*4 - 0x1d0], edi
inc dword [ebp - 0x1d4]
jmp 0x100c9c86
xor eax, eax
push eax
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x960]
push eax
lea eax, [ebp - 0x1d0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
xor al, al
jmp 0x100c9b85
and dword [ebp - 0x964], 0
and dword [ebp - 0x1d4], 0
push 0
jmp 0x100c9c6f
xor eax, eax
push eax
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x964], eax
lea eax, [ebp - 0x960]
push eax
lea eax, [ebp - 0x1d0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
mov edi, dword [ebp - 0x76c]
mov esi, edi
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x750], esi
test ecx, ecx
je 0x100c9d1a
push 0xa
xor esi, esi
xor edi, edi
pop ebx
mov eax, dword [ebp + edi*4 - 0x1d0]
mul ebx
add eax, esi
mov dword [ebp + edi*4 - 0x1d0], eax
adc edx, 0
inc edi
mov esi, edx
cmp edi, ecx
jne 0x100c9ca5
mov dword [ebp - 0x774], esi
test esi, esi
mov esi, dword [ebp - 0x750]
mov ebx, 0x1cc
je 0x100c9d18
mov ecx, dword [ebp - 0x1d4]
cmp ecx, 0x73
jae 0x100c9cf2
mov eax, edx
mov dword [ebp + ecx*4 - 0x1d0], eax
inc dword [ebp - 0x1d4]
jmp 0x100c9d18
xor eax, eax
push eax
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x960]
push eax
lea eax, [ebp - 0x1d0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
mov edi, esi
lea eax, [ebp - 0x3a4]
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.100a27c0
pop ecx
pop ecx
cmp eax, 0xa
jne 0x100c9dce
inc dword [ebp - 0x768]
lea esi, [edi + 1]
mov eax, dword [ebp - 0x3a4]
mov byte [edi], 0x31
mov dword [ebp - 0x750], esi
test eax, eax
je 0x100c9de2
push 0xa
xor edi, edi
mov esi, eax
xor ecx, ecx
pop ebx
mov eax, dword [ebp + ecx*4 - 0x3a0]
mul ebx
add eax, edi
mov dword [ebp + ecx*4 - 0x3a0], eax
adc edx, 0
inc ecx
mov edi, edx
cmp ecx, esi
jne 0x100c9d61
mov esi, dword [ebp - 0x750]
mov ebx, 0x1cc
test edi, edi
je 0x100c9de2
mov eax, dword [ebp - 0x3a4]
cmp eax, 0x73
jae 0x100c9da6
mov dword [ebp + eax*4 - 0x3a0], edi
inc dword [ebp - 0x3a4]
jmp 0x100c9de2
xor eax, eax
push eax
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x960]
push eax
lea eax, [ebp - 0x3a0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
jmp 0x100c9de2
test eax, eax
jne 0x100c9ddb
mov eax, dword [ebp - 0x768]
dec eax
jmp 0x100c9de8
add al, 0x30
lea esi, [edi + 1]
mov byte [edi], al
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x780]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x77c]
test eax, eax
js 0x100c9e05
cmp ecx, 0x7fffffff
ja 0x100c9e05
add ecx, eax
mov eax, dword [ebp + 0x1c]
dec eax
cmp eax, ecx
jb 0x100c9e0f
mov eax, ecx
add eax, dword [ebp - 0x76c]
mov dword [ebp - 0x77c], eax
cmp esi, eax
je 0x100c9eef
mov eax, dword [ebp - 0x1d4]
test eax, eax
je 0x100c9eef
xor edi, edi
mov ebx, eax
xor ecx, ecx
mov eax, dword [ebp + ecx*4 - 0x1d0]
mov edx, 0x3b9aca00
mul edx
add eax, edi
mov dword [ebp + ecx*4 - 0x1d0], eax
adc edx, 0
inc ecx
mov edi, edx
cmp ecx, ebx
jne 0x100c9e37
mov ebx, 0x1cc
test edi, edi
je 0x100c9ea1
mov eax, dword [ebp - 0x1d4]
cmp eax, 0x73
jae 0x100c9e7b
mov dword [ebp + eax*4 - 0x1d0], edi
inc dword [ebp - 0x1d4]
jmp 0x100c9ea1
xor eax, eax
push eax
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x960]
push eax
lea eax, [ebp - 0x1d0]
push ebx
push eax
call fcn.100c9f56
add esp, 0x10
lea eax, [ebp - 0x3a4]
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.100a27c0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x77c]
push 8
pop edi
sub ecx, esi
xor edx, edx
div dword [ebp - 0x75c]
add dl, 0x30
cmp ecx, edi
jb 0x100c9ed3
mov byte [edi + esi], dl
dec edi
cmp edi, 0xffffffff
jne 0x100c9ec1
cmp ecx, 9
jbe 0x100c9ee1
push 9
pop ecx
add esi, ecx
cmp esi, dword [ebp - 0x77c]
jne 0x100c9e23
mov byte [esi], 0
cmp byte [ebp - 0x78c], 0
pop edi
pop esi
pop ebx
je 0x100c9f0b
lea eax, [ebp - 0x794]
push eax
call fcn.100cc481
pop ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10077978
leave
ret
push str.1IND
jmp 0x100c9f2a
push str.1SNAN
jmp 0x100c9f2a
push str.1QNAN
push dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x76c]
push ecx
call fcn.100a8442
add esp, 0xc
test eax, eax
jne 0x100c9f49
jmp 0x100c9ef2
push str.1INF
jmp 0x100c9f2a
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.10084c64
int3