Function at 0x1011d430
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x37c
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1b0], ebx
mov dword [ebp - 0x1f4], edx
mov ebx, dword [edx + 4]
xor edx, edx
mov dword [ebp - 0x1ec], 1
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1ac], esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x1a8], edi
mov esi, dword [ebp - 0x1ec]
movzx edi, byte [ebx + 0x16d]
lea eax, [ebp - 0x374]
push eax
and edi, 0x10
lea edx, [ebp - 0x1d4]
push edx
shr edi, 4
lea ecx, [ebp + 0x10]
push ecx
lea eax, [ebp + 0xc]
push eax
call fcn.1012e040
mov dword [ebp - 0x10], eax
add esp, 0x10
cmp dword [ebp - 0x10], 0
jne 0x1011e6c0
mov ecx, dword [ebp - 0x1cc]
cmp ecx, 2
je 0x1011e6b3
cmp ecx, 1
je 0x1011e6b3
movzx eax, byte [ebx + 0x16d]
test al, 0x20
mov dword [ebp - 0x1b4], eax
je 0x1011d52a
movsx eax, byte [ebx + 0x158]
test eax, eax
jne 0x1011d52a
cmp dword [ebp - 0x1c8], 1
jle 0x1011d52a
cmp ecx, 5
jl 0x1011d52a
cmp ecx, 0x11
jle 0x1011d51d
cmp ecx, 0x19
jl 0x1011d52a
cmp ecx, 0x1f
jle 0x1011d51d
cmp ecx, 0x32
jl 0x1011d513
cmp ecx, 0x34
jle 0x1011d51d
jmp 0x1011d52a
cmp ecx, 0x28
jl 0x1011d52a
cmp ecx, 0x30
jg 0x1011d52a
mov eax, 1
mov dword [ebp - 0x1c0], eax
jmp 0x1011d532
xor eax, eax
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x374]
cmp eax, 7
jl 0x1011d666
cmp eax, 8
jg 0x1011d666
mov eax, dword [ebp - 0x1c8]
test eax, eax
mov dword [ebp - 0x2c], eax
je 0x1011d567
mov eax, dword [ebp - 0x1d0]
cdq
mov esi, dword [ebp - 0x2c]
idiv esi
mov esi, eax
jmp 0x1011d569
xor esi, esi
test esi, esi
je 0x1011d65a
cmp ecx, 0x34
je 0x1011d580
cmp ecx, 0x1c
jl 0x1011d58d
cmp ecx, 0x2c
jg 0x1011d58d
mov eax, 1
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xc], eax
jmp 0x1011d594
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x370]
test eax, eax
jle 0x1011d600
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x360]
jne 0x1011d5c0
mov edx, dword [ebp - 0x364]
cmp edx, dword [ebp - 0x368]
jg 0x1011d5c0
cmp edx, 1
je 0x1011d877
mov dword [ebp - 0x1f0], ebx
xor ecx, ecx
lea ebx, [ecx*8]
lea ebx, [ebx + ecx*4]
mov edx, dword [ebp + ebx - 0x364]
mov ebx, dword [ebp + ebx - 0x360]
mov dword [ebp + ecx*4 - 0xac], edx
mov dword [ebp + ecx*4 - 0x128], ebx
mov dword [ebp + ecx*4 - 0x1a4], edx
inc ecx
cmp ecx, eax
jl 0x1011d5c8
mov ebx, dword [ebp - 0x1f0]
xor edx, edx
test eax, eax
jle 0x1011d631
mov dword [ebp - 0x1f0], ebx
xor ecx, ecx
mov ebx, dword [ebp + ecx*4 - 0x1a4]
sub ebx, dword [ebp + ecx*4 - 0xac]
imul ebx, dword [ebp + ecx*4 - 0x128]
inc ecx
add edx, ebx
cmp ecx, eax
jl 0x1011d60e
mov ebx, dword [ebp - 0x1f0]
add edx, dword [ebp - 0x36c]
lea eax, [ebp - 0x374]
mov dword [ebp - 0x1d4], edx
lea edx, [ebp - 0x1a4]
push eax
push edx
push 0
call fcn.1012ffc0
add esp, 0xc
jmp 0x1011d71d
mov dword [ebp - 8], 1
jmp 0x1011d71d
cmp eax, 6
je 0x1011d674
cmp eax, 5
jne 0x1011d6f0
cmp dword [ebp - 0x1c8], 0
je 0x1011d6e1
mov eax, dword [ebp - 0x1d0]
test eax, eax
mov dword [ebp - 0x2c], eax
je 0x1011d6e6
test byte [ebp - 0x1b4], 0x10
je 0x1011d6d1
push ebx
lea eax, [ebp - 0x1d4]
push eax
call fcn.101301d0
add esp, 8
test eax, eax
je 0x1011d6d8
cmp dword [ebp - 0x1c0], 0
jne 0x1011d6d1
mov eax, dword [ebp - 0x1c8]
test eax, eax
mov dword [ebp - 0x2c], eax
je 0x1011d6cd
mov eax, dword [ebp - 0x1d0]
cdq
mov ecx, dword [ebp - 0x2c]
idiv ecx
mov esi, eax
jmp 0x1011d71d
xor esi, esi
jmp 0x1011d71d
mov esi, 1
jmp 0x1011d71d
mov esi, 1
xor edi, edi
jmp 0x1011d71d
xor eax, eax
mov dword [ebp - 0x2c], eax
mov esi, 1
mov dword [ebp - 8], esi
jmp 0x1011d71d
cmp ecx, 0x34
je 0x1011d70f
cmp ecx, 0x1c
jl 0x1011d6ff
cmp ecx, 0x2c
jle 0x1011d70f
mov eax, dword [ebp - 0x1d0]
mov esi, 1
mov dword [ebp - 0x2c], eax
jmp 0x1011d71d
mov eax, dword [ebp - 0x1c8]
mov esi, 2
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1e4], edi
movzx eax, byte [ebx + 0x16f]
test al, 0x20
je 0x1011d7b6
and eax, 0xffffffdf
mov byte [ebx + 0x16f], al
cmp esi, 1
je 0x1011d9d1
push ebx
call fcn.1012f790
mov dword [ebp - 0x10], eax
add esp, 4
cmp dword [ebp - 0x10], 0
jne 0x1011d95d
add dword [ebx + 0x98], 1
movzx eax, byte [ebx + 0x16f]
adc dword [ebx + 0x9c], 0
and eax, 0xfffffffb
mov byte [ebx + 0x16f], al
mov ecx, dword [ebx + 0x50]
test byte [ebx + 0x168], 1
je 0x1011d79e
test byte [ebx + 0x16b], 8
je 0x1011d79e
cmp byte [ebx + 0x155], 2
jne 0x1011d79e
lea edx, [ecx + 1]
mov dword [ebx + 0x3c], edx
jmp 0x1011d7a1
mov dword [ebx + 0x3c], ecx
mov edx, dword [ebx + 0xf8]
add ecx, edx
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x80], 0
cmp dword [ebp - 4], 0
jne 0x1011e5a0
cmp dword [ebp - 8], 0
je 0x1011d9f7
cmp esi, 1
jle 0x1011d47e
mov eax, dword [ebp - 0x374]
cmp eax, 7
je 0x1011d7e3
cmp eax, 8
jne 0x1011d862
cmp dword [ebp - 0xc], 0
je 0x1011d800
mov eax, dword [ebp - 0x1c8]
xor edx, edx
add dword [ebp - 0x1d4], eax
dec esi
mov dword [ebp - 0xc], edx
jmp 0x1011d723
cmp dword [ebp - 0x30], 0
mov edx, dword [ebp - 0xc]
je 0x1011d80e
mov edx, 1
xor eax, eax
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x370]
test edx, edx
jle 0x1011d83c
xor ecx, ecx
mov edi, dword [ebp + ecx*4 - 0x1a4]
sub edi, dword [ebp + ecx*4 - 0xac]
imul edi, dword [ebp + ecx*4 - 0x128]
inc ecx
add eax, edi
cmp ecx, edx
jl 0x1011d81f
add eax, dword [ebp - 0x36c]
lea edx, [ebp - 0x1a4]
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x374]
push eax
push edx
push 0
call fcn.1012ffc0
add esp, 0xc
jmp 0x1011d871
mov eax, dword [ebp - 0x1c8]
add dword [ebp - 0x1d4], eax
mov dword [ebp - 0x2c], eax
dec esi
jmp 0x1011d723
cmp eax, 1
jg 0x1011d8f5
test byte [ebp - 0x1b4], 0x10
je 0x1011d8b5
push ebx
lea eax, [ebp - 0x1d4]
push eax
call fcn.101301d0
add esp, 8
test eax, eax
je 0x1011d8d4
cmp dword [ebp - 0x1c0], 0
jne 0x1011d8b5
mov eax, dword [ebp - 0x370]
test eax, eax
jg 0x1011d5c0
jmp 0x1011d600
mov eax, dword [ebp - 0x1d0]
mov esi, 1
mov edx, dword [ebp - 0x36c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1d4], edx
jmp 0x1011d71d
mov edi, dword [ebp - 0x1d0]
mov esi, 1
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x2c], edi
xor edi, edi
mov dword [ebp - 0x1d4], eax
jmp 0x1011d71d
mov dword [ebp - 0x1f0], ebx
mov ecx, 1
lea edx, [ecx*8]
lea edx, [edx + ecx*4]
mov ebx, dword [ebp + edx - 0x364]
cmp ebx, 1
je 0x1011d921
mov ebx, dword [ebp - 0x1f0]
jmp 0x1011d5c0
cmp ebx, dword [ebp + edx - 0x368]
jg 0x1011d916
mov ebx, dword [ebp + edx - 0x374]
imul ebx, dword [ebp + edx - 0x36c]
cmp ebx, dword [ebp + edx - 0x360]
je 0x1011d94d
mov ebx, dword [ebp - 0x1f0]
jmp 0x1011d5c0
inc ecx
cmp ecx, eax
jl 0x1011d900
mov ebx, dword [ebp - 0x1f0]
jmp 0x1011d87c
mov edx, dword [ebx + 0x18]
test edx, edx
mov esi, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1a8]
je 0x1011d9ba
test byte [edx + 0x44], 2
je 0x1011d998
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x1011d98e
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x64], ecx
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ebx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ebx
call fcn.10126e40
add esp, 0x14
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push ebx
push eax
push eax
push 1
call fcn.1011ee20
add esp, 0x10
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp byte [eax], 1
jne 0x1011d744
mov eax, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x2c]
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x134], edx
jmp 0x1011d744
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1bc], ecx
mov edx, dword [ebp - 0x1d4]
mov dword [ebp - 0x28], edx
lea ecx, [ecx - 1]
cmp ecx, 0x20
jae 0x1011da42
mov edx, 1
shl edx, cl
test edx, 0x808a
je 0x1011da42
mov edi, dword [ebx + 0x3c]
mov edx, dword [ebp - 0x28]
and edx, ecx
and ecx, edi
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1d8], 1
jmp 0x1011da5b
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebx + 0x3c]
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1d8], 0
mov edx, dword [ebp - 0x2c]
test al, 0x40
mov dword [ebp - 0x1b8], edx
jne 0x1011e0bd
mov edi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x1e0], eax
add edx, edi
cmp eax, edx
jb 0x1011df53
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x1c0], 0
lea eax, [eax + edi]
je 0x1011dde4
test byte [ebp - 0x1dc], 3
jne 0x1011dd26
test cl, 3
jne 0x1011dd26
cmp dword [ebp - 0x1bc], 4
je 0x1011dcb4
cmp dword [ebp - 0x1bc], 8
jne 0x1011db6b
cmp eax, dword [ebp - 0x28]
jbe 0x1011e18a
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1f0], ebx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
lea esi, [esi]
mov ecx, dword [eax + 4]
mov edi, ecx
mov ebx, ecx
and edi, 0xff0000
shr ebx, 0x18
shr edi, 8
or ebx, edi
mov edi, ecx
and edi, 0xff00
shl edi, 8
shl ecx, 0x18
or ebx, edi
mov esi, dword [eax]
or ebx, ecx
mov ecx, esi
mov edi, esi
mov dword [edx], ebx
and ecx, 0xff0000
mov ebx, esi
shr edi, 0x18
and ebx, 0xff00
shr ecx, 8
shl ebx, 8
or edi, ecx
shl esi, 0x18
or edi, ebx
or edi, esi
mov esi, dword [ebp - 0x1bc]
add eax, esi
mov dword [edx + 4], edi
add edx, esi
cmp edx, dword [ebp - 0x1c4]
jb 0x1011daf0
mov ebx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1ec]
add dword [ebx + 0x3c], eax
jmp 0x1011d7ca
cmp dword [ebp - 0x1bc], 0x10
jne 0x1011dc76
cmp eax, dword [ebp - 0x28]
jbe 0x1011e18a
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1f0], ebx
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, eax
mov dword [ebp - 0x378], edi
mov edi, eax
and edi, 0xff0000
shr edx, 0x18
shr edi, 8
or edx, edi
mov edi, eax
and edi, 0xff00
shl edi, 8
shl eax, 0x18
or edx, edi
or edx, eax
mov edi, ebx
mov dword [esi], edx
mov edx, ebx
and edx, 0xff0000
mov eax, ebx
shr edi, 0x18
and eax, 0xff00
shr edx, 8
shl eax, 8
or edi, edx
shl ebx, 0x18
or edi, eax
or edi, ebx
mov ebx, ecx
mov edx, ecx
and ebx, 0xff0000
mov eax, ecx
shr edx, 0x18
and eax, 0xff00
shr ebx, 8
shl eax, 8
or edx, ebx
shl ecx, 0x18
or edx, eax
or edx, ecx
mov dword [esi + 8], edx
mov edx, dword [ebp - 0x378]
mov ecx, edx
mov ebx, edx
and ecx, 0xff0000
mov eax, edx
shr ebx, 0x18
and eax, 0xff00
shr ecx, 8
shl eax, 8
or ebx, ecx
shl edx, 0x18
or ebx, eax
mov ecx, dword [ebp - 0x1bc]
or ebx, edx
mov dword [esi + 4], edi
mov dword [esi + 0xc], ebx
add esi, ecx
add dword [ebp - 0x20], ecx
cmp esi, dword [ebp - 0x1c4]
jb 0x1011db96
mov ebx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1ec]
add dword [ebx + 0x3c], eax
jmp 0x1011d7ca
cmp eax, dword [ebp - 0x28]
jbe 0x1011e18a
mov dword [ebp - 0x1f0], ebx
mov ecx, dword [ebp - 0x1bc]
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
movzx edx, word [edi]
add edi, ecx
rol dx, 8
mov word [ebx], dx
add ebx, ecx
cmp ebx, eax
jb 0x1011dc91
mov ebx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x2c]
add dword [ebx + 0x3c], eax
jmp 0x1011d7ca
cmp eax, dword [ebp - 0x28]
jbe 0x1011e18a
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1f0], ebx
mov edx, dword [ebp - 0x1bc]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov edi, ecx
mov ebx, ecx
and edi, 0xff0000
shr ebx, 0x18
add eax, edx
shr edi, 8
or ebx, edi
mov edi, ecx
and edi, 0xff00
shl edi, 8
shl ecx, 0x18
or ebx, edi
or ebx, ecx
mov dword [esi], ebx
add esi, edx
cmp esi, dword [ebp - 0x1c4]
jb 0x1011dcdb
mov ebx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1ec]
add dword [ebx + 0x3c], eax
jmp 0x1011d7ca
cmp eax, dword [ebp - 0x28]
jbe 0x1011e18a
mov edx, dword [ebp - 0x1bc]
mov ecx, edx
shr ecx, 0x1f
mov edi, edx
add ecx, edx
sar ecx, 1
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1f0], ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c4], eax
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
cmp edi, 1
je 0x1011e19c
cmp dword [ebp - 0x24], 0
jle 0x1011ddc1
xor ecx, ecx
lea edx, [edi + esi]
mov dword [ebp - 0x18], edx
xor edx, edx
lea eax, [edi + ebx]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], ebx
mov esi, edx
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x28]
movzx edx, byte [ecx + edi]
mov edi, dword [ebp - 0x1c]
movzx ebx, byte [esi + edi - 1]
xor edx, ebx
mov byte [ecx + eax], bl
inc ecx
movzx eax, byte [esi + edi - 1]
dec esi
mov ebx, dword [ebp - 0x18]
xor eax, edx
mov edx, dword [ebp - 0x14]
mov byte [edx + ebx - 1], al
dec edx
cmp ecx, dword [ebp - 0x24]
jl 0x1011dd82
mov edi, dword [ebp - 0x1bc]
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
add esi, edi
add ebx, edi
cmp esi, dword [ebp - 0x1c4]
jb 0x1011dd5b
mov ebx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1ec]
add dword [ebx + 0x3c], eax
jmp 0x1011d7ca
cmp dword [ebp - 0x1d8], 0
je 0x1011df38
test byte [ebp - 0x1dc], 7
jne 0x1011df38
test cl, 7
jne 0x1011df38
cmp dword [ebp - 0x1bc], 4
je 0x1011df00
cmp dword [ebp - 0x1bc], 8
jne 0x1011de67
cmp eax, dword [ebp - 0x28]
jbe 0x1011e1a6
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1f0], ebx
mov ebx, dword [ebp - 0x1bc]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
mov edx, dword [edi]
mov ecx, dword [edi + 4]
add edi, ebx
mov dword [esi], edx
mov dword [esi + 4], ecx
add esi, ebx
cmp esi, eax
jb 0x1011de3e
mov ebx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1ec]
add dword [ebx + 0x3c], eax
jmp 0x1011e14c
cmp dword [ebp - 0x1bc], 0x10
jne 0x1011dec6
cmp eax, dword [ebp - 0x28]
jbe 0x1011e1a6
mov dword [ebp - 0x1f0], ebx
mov dword [ebp - 0x1ec], esi
mov edx, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov dword [ecx], esi
mov dword [ecx + 4], edi
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
add ebx, edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
add ecx, edx
cmp ecx, eax
jb 0x1011de91
mov ebx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1ec]
add dword [ebx + 0x3c], eax
jmp 0x1011e14c
cmp eax, dword [ebp - 0x28]
jbe 0x1011e1a6
mov dword [ebp - 0x1f0], ebx
mov ecx, dword [ebp - 0x1bc]
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
movzx edx, word [edi]
add edi, ecx
mov word [ebx], dx
add ebx, ecx
cmp ebx, eax
jb 0x1011dee1
mov ebx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x2c]
add dword [ebx + 0x3c], eax
jmp 0x1011e14c
cmp eax, dword [ebp - 0x28]
jbe 0x1011e1a6
mov dword [ebp - 0x1f0], ebx
mov ecx, dword [ebp - 0x1bc]
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
mov edx, dword [edi]
add edi, ecx
mov dword [ebx], edx
add ebx, ecx
cmp ebx, eax
jb 0x1011df1b
mov ebx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x2c]
add dword [ebx + 0x3c], eax
jmp 0x1011e14c
push dword [ebp - 0x2c]
push dword [ebp - 0x20]
push dword [ebp - 0x28]
call fcn.10137190
add esp, 0xc
mov eax, edi
add dword [ebx + 0x3c], eax
jmp 0x1011e14c
mov edx, dword [ebp - 0x20]
sub eax, edx
push eax
mov dword [ebp - 0x1e0], eax
push edx
push dword [ebp - 0x28]
call fcn.10137190
add esp, 0xc
mov eax, dword [ebp - 0x1e0]
add dword [ebx + 0x3c], eax
test byte [ebx + 0x170], 2
je 0x1011e2b4
push ebx
call fcn.1012f790
mov dword [ebp - 0x10], eax
add esp, 4
cmp dword [ebp - 0x10], 0
jne 0x1011e240
add dword [ebx + 0x98], 1
mov edx, dword [ebx + 0x50]
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test byte [ebx + 0x168], 1
je 0x1011dfd2
test byte [ebx + 0x16b], 8
je 0x1011dfd2
cmp byte [ebx + 0x155], 2
jne 0x1011dfd2
lea ecx, [edx + 1]
mov dword [ebx + 0x3c], ecx
jmp 0x1011dfd7
mov dword [ebx + 0x3c], edx
mov ecx, edx
mov eax, dword [ebp - 0x1e0]
sub edi, eax
add dword [ebp - 0x28], eax
add edx, dword [ebx + 0xf8]
mov dword [ebx + 0x44], edx
mov dword [ebp - 0x2c], edi
lea eax, [ecx + edi]
cmp edx, eax
jae 0x1011e085
mov dword [ebp - 0x1ec], esi
mov esi, edx
sub esi, ecx
push esi
push ecx
push dword [ebp - 0x28]
call fcn.10137190
push ebx
add dword [ebx + 0x3c], esi
call fcn.1012f790
add esp, 0x10
test eax, eax
jne 0x1011e1cc
add dword [ebx + 0x98], 1
mov edx, dword [ebx + 0x50]
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test byte [ebx + 0x168], 1
je 0x1011e05c
test byte [ebx + 0x16b], 8
je 0x1011e05c
cmp byte [ebx + 0x155], 2
jne 0x1011e05c
lea ecx, [edx + 1]
mov dword [ebx + 0x3c], ecx
jmp 0x1011e061
mov dword [ebx + 0x3c], edx
mov ecx, edx
mov edi, dword [ebp - 0x2c]
sub edi, esi
add dword [ebp - 0x28], esi
add edx, dword [ebx + 0xf8]
mov dword [ebx + 0x44], edx
mov dword [ebp - 0x2c], edi
lea esi, [ecx + edi]
cmp edx, esi
jb 0x1011dfff
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x1ec]
push dword [ebp - 0x2c]
push ecx
push dword [ebp - 0x28]
call fcn.10137190
add esp, 0xc
mov eax, edi
add dword [ebx + 0x3c], eax
cmp dword [ebp - 0x1c0], 0
je 0x1011e14c
mov eax, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x28], edx
jmp 0x1011e0ca
cmp dword [ebp - 0x1c0], 0
je 0x1011e14c
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x1b8], eax
test byte [ebp - 0x1dc], 3
jne 0x1011e13b
cmp dword [ebp - 0x1bc], 4
je 0x1011e12a
cmp dword [ebp - 0x1bc], 8
jne 0x1011e0ff
cmp eax, dword [ebp - 0x1b8]
jb 0x1011e33c
jmp 0x1011d7ca
cmp dword [ebp - 0x1bc], 0x10
jne 0x1011e119
cmp eax, dword [ebp - 0x1b8]
jb 0x1011e3cd
jmp 0x1011d7ca
cmp eax, dword [ebp - 0x1b8]
jb 0x1011e4af
jmp 0x1011d7ca
cmp eax, dword [ebp - 0x1b8]
jb 0x1011e4cd
jmp 0x1011d7ca
cmp eax, dword [ebp - 0x1b8]
jb 0x1011e527
jmp 0x1011d7ca
cmp dword [ebp - 0x1e4], 0
je 0x1011d7ca
push dword [ebp - 0x2c]
push ebx
lea eax, [ebp - 0x1d4]
push eax
call fcn.10130020
mov dword [ebp - 0x10], eax
add esp, 0xc
cmp dword [ebp - 0x10], 0
je 0x1011d7ca
push 0
push 0x5f
call fcn.10120f20
add esp, 8
jmp 0x1011d7ca
mov dword [ebx + 0x3c], edx
cmp dword [ebp - 0x1c0], 0
jne 0x1011d7ca
jmp 0x1011e14c
movzx eax, byte [ebx]
mov byte [esi], al
jmp 0x1011ddc1
mov dword [ebx + 0x3c], edx
cmp dword [ebp - 0x1c0], 0
je 0x1011e14c
mov eax, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x28], edx
jmp 0x1011e0ca
mov edx, dword [ebx + 0x18]
test edx, edx
mov esi, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1a8]
je 0x1011e229
test byte [edx + 0x44], 2
je 0x1011e207
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x1011e1fd
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x64], ecx
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ebx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ebx
call fcn.10126e40
add esp, 0x14
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push ebx
push eax
push eax
push 1
call fcn.1011ee20
add esp, 0x10
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx + 0x18]
test edx, edx
mov esi, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1a8]
je 0x1011e29d
test byte [edx + 0x44], 2
je 0x1011e27b
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x1011e271
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x64], ecx
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ebx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ebx
call fcn.10126e40
add esp, 0x14
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push ebx
push eax
push eax
push 1
call fcn.1011ee20
add esp, 0x10
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x18]
test eax, eax
mov esi, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1a8]
je 0x1011e320
test byte [eax + 0x44], 2
je 0x1011e2f9
mov edx, 0x43
mov dword [eax + 0x38], edx
mov eax, dword [ebx + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x1011e2ea
xor edx, edx
mov dword [eax + 4], edx
mov dword [ebx + 0x64], edx
mov eax, 0x43
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, 0x43
push eax
movzx edx, byte [ebx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ebx
call fcn.10126e40
add esp, 0x14
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push ebx
mov eax, 0x43
push eax
push eax
push 1
call fcn.1011ee20
add esp, 0x10
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1f0], ebx
mov eax, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x28]
nop
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [edx + 4]
mov edi, ecx
mov ebx, ecx
and edi, 0xff0000
shr ebx, 0x18
shr edi, 8
or ebx, edi
mov edi, ecx
and edi, 0xff00
shl edi, 8
shl ecx, 0x18
or ebx, edi
mov esi, dword [edx]
or ebx, ecx
mov ecx, esi
mov edi, esi
mov dword [edx], ebx
and ecx, 0xff0000
mov ebx, esi
shr edi, 0x18
and ebx, 0xff00
shr ecx, 8
shl ebx, 8
or edi, ecx
shl esi, 0x18
or edi, ebx
or edi, esi
mov dword [edx + 4], edi
add edx, dword [ebp - 0x1bc]
cmp edx, eax
jb 0x1011e360
mov esi, dword [ebp - 0x1ec]
mov ebx, dword [ebp - 0x1f0]
jmp 0x1011d7ca
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1f0], ebx
mov esi, eax
mov edi, dword [esi]
mov edx, dword [esi + 0xc]
mov ecx, edx
mov dword [ebp - 0x37c], edi
mov edi, edx
and edi, 0xff0000
shr ecx, 0x18
shr edi, 8
or ecx, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
shl edx, 0x18
or ecx, edi
mov ebx, dword [esi + 8]
or ecx, edx
mov edx, ebx
mov edi, ebx
mov dword [esi], ecx
and edx, 0xff0000
mov ecx, ebx
shr edi, 0x18
and ecx, 0xff00
shr edx, 8
shl ecx, 8
or edi, edx
shl ebx, 0x18
or edi, ecx
mov eax, dword [esi + 4]
or edi, ebx
mov ebx, eax
mov ecx, eax
and ebx, 0xff0000
mov edx, eax
shr ecx, 0x18
and edx, 0xff00
shr ebx, 8
shl edx, 8
or ecx, ebx
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [ebp - 0x37c]
mov eax, ecx
mov ebx, ecx
and eax, 0xff0000
mov edx, ecx
shr ebx, 0x18
and edx, 0xff00
shr eax, 8
shl edx, 8
or ebx, eax
shl ecx, 0x18
or ebx, edx
or ebx, ecx
mov dword [esi + 4], edi
mov dword [esi + 0xc], ebx
add esi, dword [ebp - 0x1bc]
cmp esi, dword [ebp - 0x1b8]
jb 0x1011e3db
mov esi, dword [ebp - 0x1ec]
mov ebx, dword [ebp - 0x1f0]
jmp 0x1011d7ca
mov eax, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x28]
rol word [ecx], 8
add ecx, eax
cmp ecx, edx
jb 0x1011e4be
jmp 0x1011d7ca
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1f0], ebx
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1b8]
mov esi, dword [ebp - 0x28]
mov ecx, dword [esi]
mov edi, ecx
mov ebx, ecx
and edi, 0xff0000
shr ebx, 0x18
shr edi, 8
or ebx, edi
mov edi, ecx
and edi, 0xff00
shl edi, 8
shl ecx, 0x18
or ebx, edi
or ebx, ecx
mov dword [esi], ebx
add esi, edx
cmp esi, eax
jb 0x1011e4e8
mov esi, dword [ebp - 0x1ec]
mov ebx, dword [ebp - 0x1f0]
jmp 0x1011d7ca
mov eax, dword [ebp - 0x1bc]
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
test edx, edx
jle 0x1011d7ca
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1f0], ebx
mov edx, eax
mov eax, dword [ebp - 0x28]
xor esi, esi
lea ebx, [edx + eax]
mov dword [ebp - 0x28], eax
xor edi, edi
mov ecx, eax
movzx eax, byte [edi + ebx - 1]
inc esi
movzx edx, byte [ecx]
xor edx, eax
mov byte [ecx], al
inc ecx
xor byte [edi + ebx - 1], dl
dec edi
cmp esi, dword [ebp - 0x1e8]
jl 0x1011e561
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x28]
add eax, edx
cmp eax, dword [ebp - 0x1b8]
jb 0x1011e555
mov esi, dword [ebp - 0x1ec]
mov ebx, dword [ebp - 0x1f0]
jmp 0x1011d7ca
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1a8]
cmp dword [ebp - 0x1cc], 1
jne 0x1011e652
mov eax, dword [ebx + 0x54]
test eax, eax
je 0x1011e60d
movsx edx, byte [ebx + 0x157]
add edx, 0xfffffffb
cmp edx, 0xc
ja case.default.0x1011e5d6
jmp dword [edx*4 + 0x101840fc]
mov edx, dword [ebx + 0x98]
mov ecx, dword [ebx + 0x9c]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x1011e60d
mov edx, dword [ebx + 0x98]
mov dword [eax], edx
jmp 0x1011e60d
mov edx, dword [ebx + 0x98]
mov word [eax], dx
jmp 0x1011e60d
mov edx, dword [ebx + 0x98]
mov byte [eax], dl
push dword [ebx + 0x100]
and byte [ebx + 0x16c], 0xdc
and byte [ebx + 0x16e], 0xf7
call fcn.101235a0
add esp, 4
test eax, eax
je 0x1011e67e
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x1011e69c
test byte [edx + 0x44], 2
je 0x1011e65c
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x1011e652
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x64], ecx
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ebx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ebx
call fcn.10126e40
add esp, 0x14
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x1f4]
mov dword [edx + 4], 0
jmp 0x1011e652
mov eax, 0x30
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push ebx
push eax
push eax
push 0
call fcn.1011ee20
add esp, 0x10
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, 1
mov dword [ebp - 4], eax
jmp 0x1011d71d
mov edx, dword [ebx + 0x18]
test edx, edx
mov esi, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1a8]
je 0x1011e71d
test byte [edx + 0x44], 2
je 0x1011e6fb
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x1011e6f1
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x64], ecx
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ebx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ebx
call fcn.10126e40
add esp, 0x14
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push ebx
push eax
push eax
push 1
call fcn.1011ee20
add esp, 0x10
mov ebx, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret