Function at 0x10110d34
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x3ef0
call fcn.10237cf0
mov dword [esp + 0x34], edx
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [0x1043db14]
xor eax, ebp
mov dword [esp + 0x3ee8], eax
mov eax, dword [ecx + 0xb0]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x218]
mov eax, dword [eax + 0x220]
mov dword [esp + 0x70], eax
xorps xmm0, xmm0
mov edx, dword [ecx]
mov eax, dword [ecx + 0x34]
mov dword [esp + 0x50], eax
mov edi, ecx
movups xmmword [esp + 0x3e5c], xmm0
movups xmmword [esp + 0x3e6c], xmm0
movups xmmword [esp + 0x3e7c], xmm0
movups xmmword [esp + 0x3e8c], xmm0
movups xmmword [esp + 0x3e9c], xmm0
movups xmmword [esp + 0x3eac], xmm0
movups xmmword [esp + 0x3ebc], xmm0
movups xmmword [esp + 0x3ecc], xmm0
xor eax, eax
mov dword [esp + 0x3ee0], eax
mov dword [esp + 0x3edc], eax
mov dword [esp + 0x3ee4], eax
movups xmmword [esp + 0x3e44], xmm0
mov dword [esp + 0x3e58], eax
mov dword [esp + 0x3e54], eax
xor esi, esi
mov dword [esp + 0xcc], edx
lea eax, [ecx + 4]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], 0x10
movups xmmword [esp + 0xd8], xmm0
lea ecx, [esp + 0xac]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov ebx, 0x14
mov dword [ecx + 8], ebx
movups xmmword [ecx + 0xc], xmm0
lea ecx, [esp + 0x90]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [ecx + 8], ebx
movups xmmword [ecx + 0xc], xmm0
lea ecx, [esp + 0x3e28]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], esi
movups xmmword [ecx + 4], xmm0
mov dword [ecx], eax
lea esi, [esp + 0x3d80]
movups xmmword [esi + 0x98], xmm0
movups xmmword [esi + 0x88], xmm0
movups xmmword [esi + 0x78], xmm0
movups xmmword [esi + 0x68], xmm0
movups xmmword [esi + 0x58], xmm0
mov dword [esi - 0x2d5c], edi
mov ecx, dword [ebp + 8]
mov dword [esi - 0x2d58], ecx
mov dword [esp + 8], edx
mov dword [esi], edx
mov dword [esp + 0x14], eax
mov dword [esi + 4], eax
mov dword [esi + 8], 8
movups xmmword [esi + 0xc], xmm0
lea eax, [edi + 0xf0]
mov dword [esp + 0x1c], eax
lea ebx, [esp + 0x2e70]
mov eax, 0xf10
push eax
xor eax, eax
push eax
push ebx
call fcn.1023abb0
add esp, 0xc
mov eax, edi
mov dword [esp + 0xc], edi
mov cl, byte [edi + 0xb8]
mov byte [esp + 4], cl
mov byte [ebx + 1], cl
mov edi, dword [esp + 0x50]
mov dword [ebx + 4], edi
mov dword [ebx - 0xc], eax
lea eax, [esp + 0x2e64]
mov dword [ebx - 8], eax
mov dword [ebx - 4], esi
lea ebx, [esp + 0x1f54]
mov eax, 0xf10
push eax
xor eax, eax
push eax
push ebx
call fcn.1023abb0
add esp, 0xc
mov al, byte [esp + 4]
mov byte [ebx + 1], al
mov dword [ebx + 4], edi
mov eax, dword [esp + 0xc]
mov dword [ebx - 0xc], eax
lea eax, [esp + 0x2e64]
mov dword [ebx - 8], eax
mov dword [ebx - 4], esi
lea edi, [esp + 0x1024]
mov eax, 0x14
add eax, edi
mov ecx, 0xf10
push ecx
xor ecx, ecx
push ecx
push eax
call fcn.1023abb0
add esp, 0xc
mov al, byte [esp + 4]
mov byte [edi + 0x15], al
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x50]
mov dword [edi + 0x18], ecx
mov dword [edi + 8], ebx
lea eax, [esp + 0x2e64]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], esi
mov eax, dword [ebx + 0x28]
mov dword [esi + 0x1c], eax
mov eax, dword [ebx + 0x30]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov eax, dword [ebp + 0xc]
movq xmm0, qword [eax]
movq qword [esi + 0x28], xmm0
lea eax, [esp + 0xac]
mov dword [esi + 0x34], eax
lea eax, [esp + 0x90]
mov dword [esi + 0x38], eax
lea eax, [esp + 0x3e28]
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x44], eax
mov al, byte [ebx + 0xb9]
mov byte [esi + 0x32], al
mov eax, dword [ebx + 0xe4]
mov dword [esi + 0x48], eax
mov ecx, dword [ebx + 0xe8]
mov edx, eax
neg edx
cmovs edx, eax
mov eax, ecx
neg eax
cmovs eax, ecx
cmp edx, eax
cmovg eax, edx
mov edx, dword [esp + 0x18]
mov dword [esi + 0x4c], ecx
add eax, eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], 0x199a
mov byte [esi + 0x33], 1
mov word [esi + 0x30], 0
cmp byte [ebx + 9], 0
setne byte [esp + 0xcb]
mov eax, dword [edx + 0x218]
mov eax, dword [eax + 0x21c]
shl eax, 0x10
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
cmp byte [ebx + 9], 0
je 0x1011102a
mov eax, dword [edx + 0x214]
mov ebx, dword [eax + 0x614]
jmp 0x1011102f
mov ebx, 0x30
lea edi, [esp + 0x108]
mov dword [edi], 0xffffffff
push edi
push 0x14
mov esi, dword [esp + 0x10]
push esi
call fcn.101006c5
add esp, 0xc
cmp dword [edi], 0
mov ecx, dword [esp + 0x14]
jne 0x10111091
mov dword [eax], esi
mov dword [eax + 4], ecx
mov ecx, ebx
mov ebx, eax
xor eax, eax
push edi
mov edi, ecx
push eax
push ecx
push eax
push 8
push esi
call fcn.101010d7
add esp, 0x18
mov dword [ebx + 8], eax
xor ecx, ecx
cmp dword [esp + 0x108], ecx
je 0x10111196
push ebx
push esi
call fcn.100fe6f0
add esp, 8
mov ecx, dword [esp + 0x14]
mov edi, 0x40
mov dword [esp + 4], 0
mov bl, 1
test ecx, ecx
je 0x101110ab
cmp dword [ecx], 0
jne 0x101110ab
mov dword [ecx], edi
xor esi, esi
mov dword [esp + 0x3d8c], esi
mov dword [esp + 0x3d90], esi
mov dword [esp + 0x3d94], esi
push dword [esp + 0x3d98]
push dword [esp + 0x3d84]
call fcn.100fe6f0
add esp, 8
mov dword [esp + 0x3d98], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], esi
push dword [esp + 0xa8]
push dword [esp + 0x94]
call fcn.100fe6f0
add esp, 8
mov dword [esp + 0xa8], esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], esi
push dword [esp + 0xc4]
push dword [esp + 0xb0]
call fcn.100fe6f0
add esp, 8
mov dword [esp + 0xc4], esi
push dword [esp + 0xe4]
push dword [esp + 0xd0]
call fcn.100fe6f0
add esp, 8
test bl, bl
jne 0x10111180
mov edi, dword [esp + 4]
mov esi, dword [edi]
push dword [edi + 8]
push esi
call fcn.100fe6f0
add esp, 8
mov dword [edi + 8], 0
push edi
push esi
call fcn.100fe6f0
add esp, 8
mov ecx, dword [esp + 0x3ee8]
xor ecx, ebp
call fcn.102377e8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebx + 0x10], edi
mov dword [ebx + 0xc], eax
test ebx, ebx
je 0x101111e6
mov esi, ebx
cmp dword [esp + 0xd8], 0x10
ja 0x101111c1
lea ecx, [esp + 0xcc]
mov edx, 0x11
call fcn.10114f6d
test al, al
je 0x101111cc
mov dword [esp + 0xdc], 0x11
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 0
mov dword [esp + 4], esi
mov ebx, dword [esp + 0xc]
je 0x101111fe
xor edi, edi
xor ebx, ebx
jmp 0x101110a0
mov edi, 0x40
mov bl, 1
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x14]
jmp 0x101110a0
mov dword [esp + 0x84], edi
shl dword [esp + 0x70], 0x10
lea eax, [esi + 8]
mov dword [esp + 0x38], eax
add esi, 0xc
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x34]
movdqu xmm0, xmmword [eax]
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x20], eax
movdqu xmmword [eax], xmm0
lea eax, [ebx + 0x5c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x8c], 0x1312d00
mov dword [esp + 0x44], 0
mov dword [esp + 0x28], 0
xor ecx, ecx
mov dword [esp + 0x48], 0
mov dword [esp + 0x30], 0
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x10], eax
cmp edx, eax
jae 0x101112a1
lea eax, [edx + 1]
mov dword [esp + 0x1c], eax
mov dword [ecx + 0xc], eax
movzx eax, byte [edx]
cmp eax, 0xe
je 0x10111290
cmp eax, 0xb
jne 0x101112b5
cmp byte [ebx + 9], 0
movzx eax, al
mov ecx, 0
cmovne eax, ecx
jmp 0x101112b5
xor eax, eax
cmp dword [esp + 0x44], 0
sete al
lea eax, [eax + eax*2]
add eax, 0xb
mov dword [esp + 0x1c], edx
mov dl, byte [ebx + 8]
test dl, dl
mov ecx, dword [esp + 0x14]
je 0x101112fa
cmp byte [esp + 8], 0
jne 0x10111300
cmp al, 1
je 0x10111300
cmp al, 3
je 0x10111300
cmp al, 0xd
je 0x10111300
cmp al, 0xa
je 0x10111300
cmp al, 0xb
je 0x10111300
cmp al, 0xc
je 0x10111300
cmp al, 0xe
je 0x10111300
cmp al, 0x1f
ja 0x10111300
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
xor ecx, ecx
jmp 0x10111263
mov dword [esp + 0x3c], eax
jmp 0x10111351
cmp al, 0x20
mov esi, 0
mov ecx, dword [esp + 0x28]
cmovae esi, ecx
cmp al, 0xc
cmove esi, ecx
movzx edi, byte [esp + 0x48]
mov ebx, 0
cmove ebx, edi
cmp al, 0x20
cmovae ebx, edi
mov dword [esp + 0x3c], eax
mov dh, al
add dh, 0xf6
test dh, 0xfe
cmove esi, ecx
test ecx, ecx
cmovg ecx, esi
mov dword [esp + 0x28], ecx
cmp byte [esp + 0x48], 0
cmove ebx, edi
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 0
jne 0x101133d6
mov edi, 0x12
dec dword [esp + 0x8c]
je 0x101111df
mov eax, dword [esp + 0x3c]
movzx esi, al
cmp al, 0x1f
ja case.default.0x1011137b
jmp dword [esi*4 + 0x10301ed0]
test dl, dl
je 0x10112111
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
push eax
lea eax, [esp + 0xcf]
push eax
push dword [ebp + 0x1c]
lea eax, [esp + 0xb8]
jmp 0x101113dd
test dl, dl
je 0x10112126
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
push eax
lea eax, [esp + 0xcf]
push eax
push dword [ebp + 0x1c]
lea eax, [esp + 0x9c]
push eax
call fcn.10113cb3
add esp, 0x10
cmp byte [esi + 0x224], 0
je case.0x1011137b.0
jmp 0x101133df
mov edx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov edi, eax
mov ecx, dword [esp + 0x38]
sub edi, dword [ecx]
je 0x1011147a
cmp dl, 6
sete byte [esp + 0x10]
sar edi, 3
cmp edi, 1
adc edi, 0
mov dword [esp + 0x34], edi
xor edi, edi
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.10113da0
mov dl, byte [esp + 0x10]
test dl, dl
mov ecx, 0
cmove ecx, eax
mov ebx, 0
cmove eax, ebx
mov ebx, dword [esp + 0x1c]
add esi, ecx
add ebx, eax
xor dl, 1
mov byte [esp + 0x10], dl
lea ecx, [esp + 0x1024]
mov edx, ebx
push esi
call fcn.10113eca
add esp, 4
inc edi
cmp dword [esp + 0x34], edi
jne 0x10111427
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov edx, dword [esp + 0xc]
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], esi
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov ecx, dword [esp + 8]
mov ebx, edx
jmp 0x10111263
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x38]
sub ecx, dword [eax]
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
xor edx, edx
mov dword [esp + 0x40], ecx
cmp ecx, 0x30
jae 0x10111fb8
mov ebx, eax
jmp 0x10112060
mov eax, dword [esp + 0x44]
cmp eax, 0x10
jg 0x10113614
inc eax
mov esi, eax
mov dword [esp + 0x44], eax
cmp dword [esp + 0xdc], eax
mov ebx, dword [esp + 0xc]
ja 0x101114f6
mov eax, dword [esp + 0xd0]
xor esi, esi
test eax, eax
je 0x101114f6
cmp dword [eax], 0
jne 0x101114f6
mov dword [eax], 0x82
imul esi, dword [esp + 0xd4]
add esi, dword [esp + 0xe4]
mov ecx, dword [esp + 4]
call fcn.10113b15
cmp byte [ebx + 8], 0
je 0x10111537
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x10111537
push ecx
push eax
call fcn.100fed99
add esp, 8
mov ecx, eax
xor eax, eax
dec eax
test ecx, ecx
je 0x10111537
mov eax, dword [ecx]
pxor xmm0, xmm0
movdqu xmmword [esi], xmm0
cmp byte [esp + 0x3c], 0x1d
mov dword [esp + 0x20], esi
jne 0x101120c1
mov edx, dword [esp + 0x18]
add eax, dword [edx + 0x238]
cmp eax, dword [edx + 0x230]
jae 0x10113614
mov ecx, dword [edx + 0x240]
mov ecx, dword [ecx + eax*4]
mov dword [esi + 0xc], ecx
mov dword [esi + 4], ecx
mov ecx, dword [edx + 0x240]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esi + 8], eax
jmp 0x10112471
mov edi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub eax, dword [ecx]
cmp eax, 0x10
jb 0x101115a6
cmp byte [esp + 0x3e2c], 0
jne case.0x1011137b.0
mov esi, dword [esp + 0xc]
mov ecx, esi
mov edx, dword [esp + 4]
push 0
lea eax, [esp + 0xcf]
push eax
push dword [ebp + 0x1c]
lea eax, [esp + 0x9c]
push eax
call fcn.10113cb3
add esp, 0x10
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x224], 0
jne 0x101133df
mov eax, edi
cmp al, 0x13
jne 0x10112203
mov eax, dword [esp + 0xa0]
add eax, dword [esp + 0xbc]
lea ecx, [esp + 0x3e28]
mov edx, dword [esp + 0x20]
push eax
call fcn.10114733
jmp 0x101120a5
mov ecx, eax
mov eax, dword [esp + 0x2c]
mov edi, dword [eax]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
sub edi, eax
sar edi, 3
mov ebx, edi
and ebx, 0xfffffffd
and edi, 2
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x18]
cmp ebx, edi
mov dword [esp + 0x24], edx
jbe 0x101117c3
cmp cl, 0x1f
sete al
mov dword [esp + 0x3c], eax
mov dword [esp + 0x88], ebx
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, edi
call fcn.10113da0
mov dword [esp + 0x40], eax
lea edx, [edi + 1]
mov ecx, esi
mov dword [esp + 0x6c], edx
call fcn.10113da0
mov dword [esp + 0x34], eax
lea edx, [edi + 2]
mov ecx, esi
call fcn.10113da0
mov dword [esp + 0x1c], eax
lea edx, [edi + 3]
mov ecx, esi
call fcn.10113da0
mov edx, ebx
sub edx, edi
cmp byte [esp + 0x3c], 0
jne 0x101116f3
mov esi, dword [esp + 0x24]
add esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
add ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
add ebx, esi
mov dword [esp + 0x34], ecx
add eax, ecx
mov dword [esp + 0x40], eax
mov cl, 1
mov dword [esp + 0x3c], ecx
cmp edx, 5
mov ecx, ebx
jne 0x1011174c
add edi, 4
mov ebx, ecx
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.10113da0
mov ecx, eax
mov dword [esp + 0x4c], esi
mov eax, ebx
add ecx, ebx
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x10], esi
mov ebx, ecx
jmp 0x10111760
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
add ecx, esi
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], ebx
add eax, ebx
mov dword [esp + 0x40], eax
cmp edx, 5
mov ebx, ecx
jne 0x1011176d
add edi, 4
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.10113da0
mov edx, esi
mov esi, ebx
add eax, ebx
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x3c], 0
jmp 0x10111789
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov dword [esp + 0x4c], esi
mov ebx, ecx
mov eax, ecx
lea ecx, [esp + 0x1024]
mov esi, dword [esp + 0x34]
jmp 0x10111794
mov dword [esp + 0x3c], 0
mov edx, esi
mov esi, ebx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x40]
lea ecx, [esp + 0x1024]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ebx
push ebx
push dword [esp + 0x14]
push eax
push esi
push dword [esp + 0x5c]
call fcn.10114037
add esp, 0x14
add edi, 4
mov ebx, dword [esp + 0x88]
cmp ebx, edi
ja 0x1011164e
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [ebp + 0x14], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebp + 0x18], ecx
jmp 0x101121d8
cmp al, 0xf6
ja 0x1011213f
mov edx, dword [esp + 4]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
shl ecx, 3
add ecx, dword [edx + 8]
cmp eax, ecx
je 0x10112321
add esi, 0xffffff75
mov dword [eax], esi
jmp 0x10112461
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub eax, dword [ecx]
cmp eax, 0x10
mov edi, dword [esp + 4]
jb 0x10111838
cmp byte [esp + 0xcb], 0
jne 0x10111838
mov ecx, edi
xor edx, edx
call fcn.10113da0
add eax, dword [esp + 0x70]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0xcb], 1
mov ebx, dword [esp + 0x18]
cmp byte [ebx + 0x224], 0
mov ecx, dword [esp + 0x14]
jne 0x101133d6
mov esi, dword [ebp + 0x18]
mov ecx, edi
call fcn.10113df9
add eax, esi
mov dword [ebp + 0x18], eax
cmp dword [ebx + 0x1d4], 0
jne case.0x1011137b.0
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x1024]
push eax
jmp 0x10111cce
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx]
mov edx, eax
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x18]
sub edx, ecx
mov dword [esp + 0x1c], edx
je 0x101118e8
sar dword [esp + 0x1c], 3
xor edi, edi
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, edi
call fcn.10113da0
add esi, eax
lea edx, [edi + 1]
mov ecx, ebx
mov ebx, dword [esp + 0x10]
call fcn.10113da0
add ebx, eax
lea ecx, [esp + 0x1024]
mov edx, esi
push ebx
call fcn.10113eca
add esp, 4
add edi, 2
cmp edi, dword [esp + 0x1c]
jb 0x101118a4
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [ebp + 0x14], esi
mov dword [ebp + 0x18], ebx
jmp 0x101120ae
test dl, dl
je case.0x1011137b.0
lea ecx, [esp + 0x1024]
call fcn.10114210
mov byte [esp + 0xcb], 1
jmp case.0x1011137b.0
mov eax, dword [esp + 0x44]
test eax, eax
jle 0x10113614
dec eax
mov ecx, eax
mov dword [esp + 0x44], eax
cmp dword [esp + 0xdc], eax
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 8]
ja 0x10111950
mov eax, dword [esp + 0xd0]
xor ecx, ecx
test eax, eax
je 0x10111950
cmp dword [eax], 0
jne 0x10111950
mov dword [eax], 0x82
imul ecx, dword [esp + 0xd4]
add ecx, dword [esp + 0xe4]
mov dword [esp + 0x20], ecx
mov ecx, edx
jmp 0x10111263
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x10]
jae 0x1011216b
lea ecx, [eax + 1]
mov edx, dword [esp + 0x20]
mov dword [edx + 0xc], ecx
mov al, byte [eax]
movzx ebx, al
lea ecx, [ebx - 0x13]
cmp ecx, 0x12
ja case.default.0x10111993
jmp dword [ecx*4 + 0x10301f50]
mov ecx, dword [esp + 4]
lea edx, [ebp + 0x14]
push 0
push 0x10301dbc
jmp 0x10112664
test dl, dl
je case.0x1011137b.0
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10113df9
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0x24]
mov dword [ecx], eax
mov eax, dword [edi + 0x24]
mov dword [eax + 4], 0
mov ecx, esi
call fcn.10113df9
mov ecx, dword [edi + 0x20]
add dword [ecx], eax
mov byte [esp + 0xcb], 1
cmp byte [edi + 0x2f], 0
jne 0x101133df
cmp byte [esp + 8], 0
je 0x10112753
add dword [ebp + 0x14], eax
jmp case.0x1011137b.0
test dl, dl
je 0x101133e8
cmp byte [esp + 8], 0
jne 0x101133e8
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x1024]
push dword [ebp + 0x18]
call fcn.10113e4b
add esp, 4
xor edi, edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xbc], edi
lea eax, [esp + 0x3e2c]
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], edi
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3e28], eax
mov byte [esp + 0x3e2d], 1
mov ebx, dword [esp + 0x44]
test ebx, ebx
mov ecx, dword [esp + 0x20]
jle 0x10111ac3
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xd4]
mov esi, dword [esp + 0xe4]
mov dword [esp + 0x20], esi
inc ebx
lea esi, [ebx - 2]
cmp ecx, esi
cmovbe esi, edi
ja 0x10111aac
test edx, edx
je 0x10111aac
xor esi, esi
cmp dword [edx], 0
jne 0x10111aac
mov dword [edx], 0x82
dec ebx
cmp ebx, 1
ja 0x10111a91
imul eax, esi
mov ecx, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x44], 0
mov eax, dword [ecx + 4]
mov dword [esp + 0x20], ecx
mov dword [ecx + 0xc], eax
mov al, 1
mov dword [esp + 8], eax
jmp case.0x1011137b.0
mov esi, dword [esp + 0xc]
cmp byte [esi + 9], 0
je case.0x1011137b.0
cmp byte [esi + 0x5d], 0
jne 0x10113614
mov ecx, dword [esp + 4]
call fcn.10113b15
test eax, eax
js case.0x1011137b.0
mov dword [esi + 0x78], eax
jmp case.0x1011137b.0
mov esi, dword [esp + 0xc]
cmp byte [esi + 9], 0
je case.0x1011137b.0
cmp dword [esi + 0x60], 0
je 0x10113614
mov eax, dword [esi + 0x224]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x80]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x78]
mov dword [esp + 0x10], eax
mov ebx, dword [esi + 0x7c]
call dword [section..00cfg]
push dword [esp + 0x1c]
push ebx
push dword [esp + 0x18]
mov ebx, dword [esp + 0x74]
push ebx
call ecx
add esp, 0x10
test al, al
je 0x10111b99
mov eax, dword [esi + 0x224]
mov ecx, dword [eax + 0x10]
mov eax, dword [esi + 0x80]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x78]
mov dword [esp + 0x10], eax
mov ebx, dword [esi + 0x7c]
call dword [section..00cfg]
push dword [esp + 0x1c]
push ebx
mov ebx, dword [esp + 0x70]
push dword [esp + 0x18]
push ebx
call ecx
add esp, 0x10
test eax, eax
jne 0x1011359e
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10113b15
cmp eax, dword [esp + 0x84]
ja 0x10113614
mov ecx, ebx
mov edx, esi
push eax
call fcn.10113b5d
add esp, 4
mov ebx, dword [esp + 0xc]
mov byte [ebx + 0x5d], 1
jmp 0x10112471
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub eax, dword [ecx]
cmp eax, 0x18
jb 0x10111bfa
cmp byte [esp + 0xcb], 0
jne 0x10111bfa
mov ecx, dword [esp + 4]
xor edx, edx
call fcn.10113da0
add eax, dword [esp + 0x70]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0xcb], 1
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x224], 0
mov ecx, dword [esp + 0x14]
jne 0x101133d6
mov edi, dword [ebp + 0x18]
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.10113df9
mov esi, eax
add esi, edi
mov dword [ebp + 0x18], esi
mov edi, dword [ebp + 0x14]
mov ecx, ebx
call fcn.10113df9
add eax, edi
mov dword [ebp + 0x14], eax
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x1d4], 0
jne case.0x1011137b.0
lea ecx, [esp + 0x1024]
mov edx, eax
push esi
jmp 0x10111cce
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub eax, dword [ecx]
cmp eax, 0x10
mov edi, dword [esp + 4]
jb 0x10111c89
cmp byte [esp + 0xcb], 0
jne 0x10111c89
mov ecx, edi
xor edx, edx
call fcn.10113da0
add eax, dword [esp + 0x70]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0xcb], 1
mov ebx, dword [esp + 0x18]
cmp byte [ebx + 0x224], 0
mov ecx, dword [esp + 0x14]
jne 0x101133d6
mov esi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10113df9
add eax, esi
mov dword [ebp + 0x14], eax
cmp dword [ebx + 0x1d4], 0
jne case.0x1011137b.0
lea ecx, [esp + 0x1024]
mov edx, eax
push dword [ebp + 0x18]
call fcn.10113e4b
jmp 0x101120a5
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub eax, dword [ecx]
mov ecx, eax
sar ecx, 3
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x18]
xor edi, edi
cmp eax, 0x31
mov dword [esp + 0x24], ecx
jb 0x10111d49
xor edi, edi
mov dword [esp + 0x10], esi
mov esi, edi
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.10113da0
mov edi, dword [esp + 0x10]
add edi, eax
lea edx, [esi + 1]
mov ecx, dword [esp + 4]
call fcn.10113da0
add ebx, eax
lea ecx, [esp + 0x1024]
mov dword [esp + 0x10], edi
mov edx, edi
push ebx
call fcn.10113eca
mov ecx, dword [esp + 0x28]
add esp, 4
lea edi, [esi + 2]
add esi, 8
cmp esi, ecx
jb 0x10111d00
mov esi, dword [esp + 0x10]
cmp edi, ecx
jae 0x10111de9
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.10113da0
add esi, eax
mov dword [esp + 0x10], esi
mov edx, edi
or edx, 1
mov ecx, dword [esp + 4]
call fcn.10113da0
add eax, ebx
mov dword [esp + 0x1c], eax
lea edx, [edi + 2]
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.10113da0
add eax, esi
mov dword [esp + 0x34], eax
lea edx, [edi + 3]
mov ecx, ebx
call fcn.10113da0
add eax, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
lea edx, [edi + 4]
mov ecx, ebx
call fcn.10113da0
mov esi, eax
add esi, dword [esp + 0x34]
lea edx, [edi + 5]
mov ecx, ebx
call fcn.10113da0
mov ebx, eax
mov eax, dword [esp + 0x3c]
add ebx, eax
lea ecx, [esp + 0x1024]
mov edx, dword [esp + 0x10]
push ebx
push esi
push eax
push dword [esp + 0x40]
push dword [esp + 0x2c]
call fcn.10114037
add esp, 0x14
add edi, 6
cmp edi, dword [esp + 0x24]
jb 0x10111d51
mov dword [ebp + 0x14], esi
mov dword [ebp + 0x18], ebx
jmp case.0x1011137b.0
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
sub esi, eax
sar esi, 3
mov ecx, esi
and ecx, 0xfffffffd
mov dword [esp + 0x24], esi
and esi, 2
mov edi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x3c], ecx
cmp ecx, esi
jbe 0x101121ce
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x24]
sub eax, esi
test al, 1
jne 0x10111e37
mov ebx, dword [esp + 4]
jmp 0x10111e47
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, esi
call fcn.10113da0
add edi, eax
inc esi
mov dword [esp + 0x10], edi
mov ecx, ebx
mov edx, esi
call fcn.10113da0
mov ecx, dword [esp + 0x34]
add ecx, eax
mov dword [esp + 0x1c], ecx
lea edx, [esi + 1]
mov ecx, ebx
call fcn.10113da0
mov edi, eax
add edi, dword [esp + 0x10]
lea edx, [esi + 2]
mov ecx, ebx
call fcn.10113da0
mov ecx, ebx
mov ebx, eax
add ebx, dword [esp + 0x1c]
lea edx, [esi + 3]
call fcn.10113da0
add eax, ebx
lea ecx, [esp + 0x1024]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x34], eax
push eax
push edi
push ebx
push edi
push dword [esp + 0x2c]
call fcn.10114037
add esp, 0x14
add esi, 4
cmp dword [esp + 0x3c], esi
ja 0x10111e27
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x34]
jmp 0x101121d2
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
sub esi, eax
sar esi, 3
mov ecx, esi
and ecx, 0xfffffffd
mov dword [esp + 0x24], esi
and esi, 2
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0x3c], ecx
cmp ecx, esi
jbe 0x10111f89
mov eax, dword [esp + 0x24]
sub eax, esi
test al, 1
je 0x10111f10
mov ecx, dword [esp + 4]
mov edx, esi
call fcn.10113da0
add edi, eax
inc esi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, esi
call fcn.10113da0
add ebx, eax
mov dword [esp + 0x1c], ebx
lea edx, [esi + 1]
mov ecx, edi
call fcn.10113da0
add eax, ebx
mov dword [esp + 0x34], eax
lea edx, [esi + 2]
mov ecx, edi
mov ebx, edi
call fcn.10113da0
mov edi, eax
add edi, dword [esp + 0x10]
lea edx, [esi + 3]
mov ecx, ebx
call fcn.10113da0
mov ebx, eax
mov eax, dword [esp + 0x34]
add ebx, eax
lea ecx, [esp + 0x1024]
mov edx, dword [esp + 0x1c]
push edi
push ebx
push edi
push eax
push dword [esp + 0x20]
call fcn.10114037
add esp, 0x14
add esi, 4
cmp dword [esp + 0x3c], esi
ja 0x10111ef8
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], ebx
jmp 0x101120ae
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x10]
jae 0x101121e3
lea esi, [eax + 1]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0xc], esi
movzx edx, byte [eax]
mov edi, dword [esp + 4]
jmp 0x10112412
sar dword [esp + 0x40], 3
xor edi, edi
mov ecx, dword [esp + 4]
mov ebx, eax
mov edx, edi
call fcn.10113da0
add ebx, eax
mov dword [esp + 0x34], ebx
lea edx, [edi + 1]
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.10113da0
add eax, esi
mov dword [esp + 0x10], eax
lea edx, [edi + 2]
mov ecx, ebx
call fcn.10113da0
add eax, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
lea edx, [edi + 3]
mov ecx, ebx
call fcn.10113da0
add eax, dword [esp + 0x10]
mov dword [esp + 0x24], eax
lea edx, [edi + 4]
mov ecx, ebx
mov esi, ebx
call fcn.10113da0
mov ebx, eax
add ebx, dword [esp + 0x1c]
lea edx, [edi + 5]
mov ecx, esi
call fcn.10113da0
mov esi, eax
mov eax, dword [esp + 0x24]
add esi, eax
lea ecx, [esp + 0x1024]
mov edx, dword [esp + 0x34]
push esi
push ebx
push eax
push dword [esp + 0x28]
push dword [esp + 0x20]
call fcn.10114037
add esp, 0x14
lea edx, [edi + 6]
add edi, 0xc
mov eax, ebx
cmp edi, dword [esp + 0x40]
mov edi, edx
jbe 0x10111fbf
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], esi
cmp byte [esp + 0x3c], 0x18
jne case.0x1011137b.0
mov dword [esp + 0x10], esi
mov esi, dword [esp + 4]
mov ecx, esi
mov edi, edx
call fcn.10113da0
add ebx, eax
mov dword [ebp + 0x14], ebx
or edi, 1
mov ecx, esi
mov edx, edi
call fcn.10113da0
add eax, dword [esp + 0x10]
mov dword [ebp + 0x18], eax
lea ecx, [esp + 0x1024]
mov edx, ebx
push eax
call fcn.10113eca
add esp, 4
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
jmp 0x10111263
mov esi, dword [esp + 0x18]
add eax, dword [esi + 0x234]
cmp eax, dword [esi + 0x22c]
jae 0x10113614
mov ecx, dword [esi + 0x23c]
mov ecx, dword [ecx + eax*4]
mov edx, dword [esp + 0x20]
mov dword [edx + 4], ecx
cmp byte [esi + 0x30], 0
je 0x101122c0
mov edx, dword [esi + 0x264]
test edx, edx
je 0x101122f7
test ecx, ecx
je 0x101123b2
mov eax, dword [edx + eax*4]
add eax, ecx
jmp 0x101123b6
cmp byte [esp + 0x3e2c], 0
jne case.0x1011137b.0
xor eax, eax
mov esi, dword [esp + 0x18]
jmp 0x10111394
cmp byte [esp + 0x3e2c], 0
jne case.0x1011137b.0
xor eax, eax
mov esi, dword [esp + 0x18]
jmp 0x101113c2
cmp al, 0xfa
mov ecx, dword [esp + 4]
ja 0x101122cf
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x10]
jae 0x101123c5
lea edx, [eax + 1]
mov edi, dword [esp + 0x20]
mov dword [edi + 0xc], edx
movzx eax, byte [eax]
jmp 0x101123dc
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
test ecx, ecx
je 0x10112187
xor eax, eax
cmp dword [ecx], 0
mov ebx, 0
jne case.0x10111993.20
mov dword [ecx], 0x55
xor eax, eax
xor ebx, ebx
cmp ebx, 0x25
ja case.0x1011137b.0
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 9], 0
jne case.0x1011137b.0
mov dl, byte [ecx + 8]
cmp ebx, 0x11
je 0x10112329
test dl, dl
je 0x10112329
cmp dword [esp + 0x28], 0
jle 0x10112329
mov dword [esp + 0x28], 0
jmp case.0x1011137b.0
mov ebx, dword [esp + 0xc]
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x18], edx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x10112471
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx]
xor edx, edx
test esi, esi
mov edi, dword [esp + 4]
je 0x101121fc
cmp dword [esi], 0
je 0x101123fe
mov esi, eax
jmp 0x10112412
push 0xf10
xor edi, edi
push edi
lea eax, [esp + 0x11c]
push eax
call fcn.1023abb0
add esp, 0xc
mov al, byte [esi + 0xb8]
mov byte [esp + 0x115], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0x118], eax
mov dword [esp + 0x108], esi
lea eax, [esp + 0x2e64]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x3d80]
mov dword [esp + 0x110], eax
pxor xmm0, xmm0
lea eax, [esp + 0xf0]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov eax, dword [esp + 0x14]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xa0]
add eax, dword [esp + 0xbc]
lea esi, [esp + 0xec]
mov ecx, esi
mov edx, dword [esp + 0x20]
push eax
call fcn.10114733
add esp, 4
lea ecx, [esp + 0x108]
lea edx, [esp + 0xac]
push edi
push edi
push esi
lea eax, [esp + 0x9c]
push eax
call fcn.101147a0
add esp, 0x10
jmp case.0x1011137b.0
mov edx, dword [esi + 0x23c]
mov eax, dword [edx + eax*4 + 4]
jmp 0x101123b6
cmp al, 0xff
je 0x101124ba
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x10]
jae 0x101124da
lea edx, [eax + 1]
mov edi, dword [esp + 0x20]
mov dword [edi + 0xc], edx
movzx eax, byte [eax]
jmp 0x101124f1
mov edx, dword [esi + 0x260]
test edx, edx
mov edi, 0
cmovle edx, edi
add ecx, edx
mov edi, dword [esp + 0x20]
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x23c]
mov esi, edi
mov eax, dword [edx + eax*4 + 4]
jmp 0x101123ba
mov eax, dword [edx + 4]
jmp 0x1011247d
movzx eax, al
dec eax
cmp eax, 0x20
ja case.0x1011137b.0
jmp dword [eax*4 + 0x10301f9c]
test dl, dl
je case.0x1011137b.0
mov esi, dword [esp + 4]
mov ecx, esi
xor edx, edx
call fcn.10113da0
mov edi, eax
mov ecx, esi
mov edx, 2
call fcn.10113da0
mov dword [esp + 0x10], eax
mov ecx, esi
mov edx, 4
call fcn.10113da0
mov dword [esp + 0x1c], eax
xor edx, edx
inc edx
mov ecx, esi
call fcn.10113da0
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, ecx
cmp edx, 0xf
ja 0x10112cb7
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
test eax, eax
je 0x10112ccf
cmp dword [eax], 0
jne 0x10112ccf
mov dword [eax], 0x82
jmp 0x10112ccf
xor eax, eax
xor ecx, ecx
mov esi, dword [esp + 0x20]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp 0x10112471
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
xor eax, eax
test edx, edx
je 0x101123dc
cmp dword [edx], 0
jne 0x101123dc
mov dword [edx], 0x55
mov edi, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
shl edx, 3
add edx, dword [ecx + 8]
cmp edi, edx
je 0x101124d5
shl esi, 8
add eax, esi
add eax, 0xffff096c
mov dword [edi], eax
jmp 0x10112461
mov dword [esi], 0x55
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov esi, dword [eax + 0xc]
mov ebx, dword [esp + 0xc]
cmp esi, dword [esp + 0x10]
jae 0x1011242d
mov eax, esi
lea ecx, [esi + 1]
mov esi, dword [esp + 0x20]
mov dword [esi + 0xc], ecx
movzx eax, byte [eax]
jmp 0x10112444
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
je 0x10112444
cmp dword [ecx], 0
jne 0x10112444
mov dword [ecx], 0x55
mov ecx, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
shl esi, 3
add esi, dword [edi + 8]
cmp ecx, esi
je 0x1011247a
shl edx, 0x18
shl eax, 0x10
or eax, edx
sar eax, 0x10
mov dword [ecx], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov dword [eax + 4], 2
add dword [ecx], 8
mov ecx, dword [esp + 8]
jmp 0x10111263
mov eax, dword [edi + 4]
mov edx, dword [esp + 8]
mov ecx, edx
test eax, eax
je 0x10111263
cmp dword [eax], 0
mov ecx, edx
jne 0x10111263
mov dword [eax], 0x82
mov ecx, edx
jmp 0x10111263
cmp ebx, 8
je case.0x1011137b.0
cmp ebx, 0xd
je case.0x1011137b.0
jmp case.0x10111993.20
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x10]
jae 0x10112502
lea edx, [eax + 1]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0xc], edx
movzx esi, byte [eax]
mov eax, edx
jmp 0x10112527
mov eax, dword [ecx + 4]
jmp 0x1011247d
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
xor eax, eax
test edx, edx
je 0x101124f1
cmp dword [edx], 0
jne 0x101124f1
mov dword [edx], 0x55
shl esi, 8
or esi, eax
mov edx, 0xfa94
sub edx, esi
jmp 0x10112618
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
xor esi, esi
test edx, edx
je 0x10112527
cmp dword [edx], 0
jne 0x10112527
mov dword [edx], 0x55
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0xc]
cmp eax, dword [esp + 0x10]
jae 0x1011253e
lea edx, [eax + 1]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0xc], edx
movzx edi, byte [eax]
mov eax, edx
jmp 0x10112563
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
xor edi, edi
test edx, edx
je 0x10112563
cmp dword [edx], 0
jne 0x10112563
mov dword [edx], 0x55
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0xc]
cmp eax, dword [esp + 0x10]
jae 0x1011257a
lea ebx, [eax + 1]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0xc], ebx
movzx edx, byte [eax]
mov eax, ebx
jmp 0x1011259f
mov ecx, dword [esp + 0x20]
mov ebx, dword [ecx]
xor edx, edx
test ebx, ebx
je 0x1011259f
cmp dword [ebx], 0
jne 0x1011259f
mov dword [ebx], 0x55
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0xc]
cmp eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
jae 0x101125c0
lea ecx, [eax + 1]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x20]
mov dword [esi + 0xc], ecx
mov esi, dword [esp + 0x10]
movzx eax, byte [eax]
jmp 0x101125d7
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
je 0x101125d7
cmp dword [ecx], 0
jne 0x101125d7
mov dword [ecx], 0x55
shl esi, 0x18
shl edi, 0x10
or edi, esi
shl edx, 8
or edx, edi
or edx, eax
cmp byte [ebx + 8], 0
je 0x10112ab2
mov eax, dword [esp + 0x48]
test al, al
movzx eax, al
mov esi, 1
cmovne esi, eax
lea ecx, [edx + 0x7d00]
cmp ecx, 0xfa01
cmovb esi, eax
mov dword [esp + 0x48], esi
mov ecx, dword [esp + 4]
call fcn.10114418
jmp 0x10112471
mov ecx, dword [esp + 4]
lea edx, [ebp + 0x14]
push 0
push 0x10301dc8
lea eax, [esp + 0x102c]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.1011427f
jmp 0x101122b8
mov ecx, dword [esp + 4]
lea edx, [ebp + 0x14]
push 0
push 0x10301dd4
jmp 0x10112664
mov ecx, dword [esp + 4]
lea edx, [ebp + 0x14]
push 1
push 0x10301de0
lea eax, [esp + 0x102c]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.1011427f
add esp, 0x10
jmp 0x101120b4
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
test eax, eax
setne al
test esi, esi
setne cl
and cl, al
movzx edx, cl
jmp 0x1011282b
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
xor edx, edx
or eax, esi
setne dl
jmp 0x1011282b
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10113df9
xor edx, edx
test eax, eax
sete dl
mov ecx, esi
jmp 0x1011282d
test dl, dl
je case.0x1011137b.0
jmp 0x101135b2
test dl, dl
je case.0x1011137b.0
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x24]
mov dword [ecx + 4], eax
mov ecx, edi
call fcn.10113df9
mov ecx, dword [ebx + 0x24]
mov dword [ecx], eax
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
mov ecx, dword [ebx + 0x20]
add dword [ecx], eax
mov ecx, dword [ebx + 0x20]
add dword [ecx + 4], esi
mov byte [esp + 0xcb], 1
cmp byte [ebx + 0x2f], 0
jne 0x101133df
cmp byte [esp + 8], 0
je 0x10112753
add dword [ebp + 0x14], eax
add dword [ebp + 0x18], esi
jmp case.0x1011137b.0
mov dword [esp + 8], 0
jmp case.0x1011137b.0
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10113df9
cmp eax, 0x80000000
je 0x10112804
mov edx, eax
neg edx
cmovs edx, eax
mov ecx, esi
jmp 0x10112dd3
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
add esi, eax
jmp 0x10112be5
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
sub eax, esi
jmp 0x10112d8f
test dl, dl
je 0x10112d71
cmp byte [esp + 0x48], 0
je 0x10112d71
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113b15
mov esi, eax
mov ecx, edi
call fcn.10113b15
mov dword [esp + 0x48], 0
jmp 0x10112d85
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10113df9
cmp eax, 0x80000000
jne 0x10112d93
mov ecx, esi
mov edx, 0x7fffffff
jmp 0x10112dd3
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
xor edx, edx
cmp eax, esi
sete dl
mov ecx, edi
call fcn.10114418
jmp 0x101120b4
mov ecx, dword [esp + 8]
test dl, dl
mov ebx, dword [esp + 0xc]
je 0x10111263
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.10113b15
mov esi, eax
mov ecx, ebx
call fcn.10113b15
mov ecx, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
sub ebx, ecx
sar ebx, 3
mov dword [esp + 0x24], eax
sub ebx, eax
jb 0x10113614
cmp esi, 0x1c
ja case.0x1011287b.4
jmp dword [esi*4 + 0x10302020]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x284]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10113614
xor ecx, ecx
cmp esi, 0x12
sete cl
lea esi, [esi + ecx - 0xd]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, esi
mov dword [esp + 0x30], esi
imul ecx, esi
cmp dword [esp + 0x24], ecx
jne 0x101135a9
mov ecx, dword [esp + 0x30]
lea eax, [ebx + ecx]
mov dword [esp + 0x10], eax
mov eax, ebx
mov ecx, dword [esp + 4]
xor esi, esi
mov dword [esp + 0x28], esi
mov edx, eax
mov dword [esp + 0x34], eax
call fcn.10113da0
mov edi, eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jb 0x10112972
xor ebx, ebx
inc ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x88]
mov esi, dword [eax + ebx*4]
lea eax, [edx + 1]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 4]
call fcn.10113da0
mov dword [esp + 0x108], esi
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], 0xffffffff
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0x108]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0x10]
add edi, dword [esp + 0xe8]
inc ebx
mov edx, ecx
mov eax, dword [esp + 0x1c]
cmp ebx, dword [eax]
jb 0x101128f5
jmp 0x10112976
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x34]
lea eax, [esi + 1]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x38]
mov ecx, dword [ebx]
sub edx, ecx
sar edx, 3
cmp edx, esi
mov edx, esi
mov esi, dword [esp + 0x28]
jae 0x101129b4
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 4]
test edx, edx
je 0x101129c5
cmp dword [edx], 0
jne 0x101129c5
mov dword [edx], 0x82
jmp 0x101129c5
mov dword [ecx + edx*8], edi
mov ecx, dword [ebx]
mov dword [ecx + eax*8 - 4], 0
mov ecx, dword [esp + 4]
inc esi
cmp esi, dword [esp + 0x30]
jne 0x101128d0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, eax
mov edx, dword [esp + 0x38]
sub ecx, dword [edx]
sar ecx, 3
mov esi, dword [esp + 0x24]
sub esi, dword [esp + 0x30]
cmp ecx, esi
jae 0x10112ddd
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], 0
mov edx, dword [esp + 8]
mov ecx, edx
test eax, eax
mov ebx, dword [esp + 0xc]
je 0x10111263
cmp dword [eax], 0
mov ecx, edx
jne 0x10111263
mov dword [eax], 0xa1
mov ecx, edx
jmp 0x10111263
mov ecx, dword [esp + 8]
test dl, dl
mov ebx, dword [esp + 0xc]
je 0x10111263
cmp dword [esp + 0x30], 0
jle 0x10112da1
dec dword [esp + 0x30]
jmp 0x101120b4
mov ecx, dword [esp + 4]
call fcn.10113df9
jmp 0x101120b4
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113b15
mov esi, eax
mov ecx, edi
call fcn.10113df9
mov edx, dword [esp + 8]
mov ecx, edx
cmp esi, 0x1f
mov ebx, dword [esp + 0xc]
ja 0x10111263
mov dword [esp + esi*4 + 0x3e5c], eax
mov ecx, edx
jmp 0x10111263
mov ecx, dword [esp + 4]
call fcn.10113b15
mov ecx, dword [esp + 8]
cmp eax, 0x1f
mov ebx, dword [esp + 0xc]
ja 0x10111263
mov edx, dword [esp + eax*4 + 0x3e5c]
mov ecx, dword [esp + 4]
call fcn.10114566
jmp 0x10112471
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10113df9
mov dword [esp + 0x10], eax
mov ecx, esi
call fcn.10113df9
mov edi, eax
mov ecx, esi
call fcn.10113df9
mov ebx, eax
mov ecx, esi
call fcn.10113df9
cmp edi, dword [esp + 0x10]
cmovle ebx, eax
mov ecx, esi
mov edx, ebx
jmp 0x10112dd3
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x218]
mov ecx, dword [eax + 0x288]
movzx edx, cx
inc edx
mov esi, ecx
shl esi, 0xd
xor esi, ecx
mov ecx, esi
shr ecx, 0x11
xor ecx, esi
mov esi, ecx
shl esi, 5
xor esi, ecx
mov dword [eax + 0x288], esi
mov ecx, dword [esp + 4]
jmp 0x10112dd3
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
mov dword [esp + 0x108], esi
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], 0xffffffff
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0x108]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0xe8], eax
mov edx, dword [esp + 0xe8]
mov ecx, edi
jmp 0x10112dd3
mov ecx, dword [esp + 4]
call fcn.10113df9
test eax, eax
jle 0x10112d97
mov esi, eax
cmp eax, 0xa
setae cl
shr eax, cl
mov edi, eax
push eax
push esi
call fcn.100fe027
add esp, 8
add eax, edi
inc eax
sar eax, 1
cmp eax, edi
jne 0x10112bb5
jmp 0x10112d99
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
mov edx, eax
call fcn.10114566
mov ecx, edi
mov edx, esi
jmp 0x10112dd3
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.10113df9
mov esi, eax
mov ecx, ebx
call fcn.10113df9
mov edi, eax
mov ecx, ebx
mov edx, esi
call fcn.10114566
mov ecx, ebx
jmp 0x10112d9d
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113b15
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov ecx, dword [esp + 8]
sub esi, edx
mov ebx, dword [esp + 0xc]
je 0x10111263
sar esi, 3
test eax, eax
js 0x10112dc1
xor edx, edx
cmp eax, esi
jae 0x10112dc4
not eax
add esi, eax
jmp 0x10112dc2
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113b15
mov esi, eax
mov ecx, edi
call fcn.10113b15
mov ecx, edi
mov edx, eax
push esi
call fcn.101145a1
add esp, 4
jmp 0x101120b4
test dl, dl
je case.0x1011137b.0
cmp byte [esp + 8], 0
je case.0x1011137b.0
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10113df9
mov dword [ebp + 0x18], eax
mov ecx, esi
call fcn.10113df9
mov dword [ebp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1d4], 0
jmp case.0x1011137b.0
add edi, eax
mov eax, dword [esp + 0x10]
sub eax, edi
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [eax + 0x14], 0
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 3
call fcn.10113da0
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, ecx
cmp edx, 0x1f
ja 0x10112d04
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
test eax, eax
je 0x10112d20
cmp dword [eax], 0
jne 0x10112d20
mov dword [eax], 0x82
jmp 0x10112d20
mov edx, dword [esp + 0x10]
add edx, eax
mov eax, dword [esp + 0x1c]
sub eax, edx
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [eax + 0x24], 0
xor eax, eax
cmp ebx, 1
setne al
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx + 0x20]
lea edi, [esp + 0xac]
lea ecx, [esp + 0x90]
cmove edi, ecx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
push dword [esi + eax*4]
lea eax, [esp + 0xcf]
push eax
push dword [ebp + 0x1c]
push edi
call fcn.10113cb3
add esp, 0x10
cmp byte [ebx + 0x224], 0
je case.0x1011137b.0
jmp 0x101133df
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
push esi
push eax
call fcn.100fe027
add esp, 8
mov ecx, edi
jmp 0x10112dd1
neg eax
jmp 0x10112dcf
xor edi, edi
mov ecx, dword [esp + 4]
mov edx, edi
jmp 0x10112dd3
cmp dword [esp + 0x28], 0
je 0x10113614
mov eax, dword [esp + 0x28]
mov edx, dword [esp + eax*4 + 0x3ed8]
dec eax
mov dword [esp + 0x28], eax
jmp 0x10112b27
dec esi
mov edx, esi
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10113da0
mov ecx, esi
mov edx, eax
call fcn.10114566
jmp 0x101120b4
mov edx, esi
shl edx, 3
sub eax, edx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x10112e4b
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
jmp 0x10112eb5
cmp dword [esp + 0x24], 3
jne 0x10113614
cmp byte [esp + 8], 0
je 0x10112e2b
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1d4], 0
je 0x10113614
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1d8], 7
jne 0x10113614
mov edx, dword [ebp + 0x14]
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10114566
mov edx, dword [ebp + 0x18]
mov ecx, esi
call fcn.10114566
mov dword [esp + 0x30], 2
mov dword [esp + 0x28], 0
jmp 0x101120b4
mov dword [esp + 0x28], 0
cmp dword [esp + 0x24], 0
jne 0x101135a9
mov ecx, 0
mov dword [esp + 0x30], 0
cmp byte [esp + 8], 0
mov ebx, dword [esp + 0xc]
je 0x10111263
mov ecx, dword [esp + 0x18]
mov edx, 6
call fcn.10110d09
test eax, eax
jne 0x101133df
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1d4], 1
mov dword [eax + 0x1d8], 0
mov dword [esp + 0x28], 0
jmp 0x1011327d
mov dword [esp + 0x28], 0
cmp dword [esp + 0x24], 0
jne 0x101135a9
mov ecx, 0
mov dword [esp + 0x30], 0
cmp byte [esp + 8], 0
mov ebx, dword [esp + 0xc]
je 0x10111263
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1d4], 0
je 0x101135a9
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], 0
cmp eax, 5
mov ebx, dword [esp + 0xc]
ja 0x10111263
xor edx, edx
inc edx
mov ecx, dword [esp + 0x18]
call fcn.10110d09
mov dword [esp + 0x28], 0
test eax, eax
jne 0x101135a9
lea eax, [esi + esi]
cmp esi, 4
lea ecx, [esi + esi - 6]
cmovb ecx, eax
mov eax, dword [ebp + 0x14]
mov dword [esp + ecx*4 + 0x3e3c], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + ecx*4 + 0x3e40], eax
cmp esi, 6
mov ebx, dword [esp + 0xc]
je 0x1011339b
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], 0
cmp esi, 3
je 0x1011339b
jmp 0x10111263
mov dword [esp + 0x28], 0
cmp dword [esp + 0x24], 1
jne 0x101135a9
mov ecx, 0
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
mov edx, dword [esp + 8]
test dl, dl
mov ebx, dword [esp + 0xc]
je 0x10111263
xor eax, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xbc], eax
lea ecx, [esp + 0x3e2c]
mov dword [ecx + 0x14], eax
mov dword [esp + 0x28], 0
mov dword [ecx + 0x10], eax
pxor xmm0, xmm0
movdqu xmmword [ecx], xmm0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3e28], eax
mov byte [esp + 0x3e2d], 1
mov ecx, edx
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
jmp 0x10111263
cmp dword [esp + 0x24], 0
js 0x101135a9
test esi, esi
js 0x101135a9
mov eax, dword [esp + 0x24]
cmp eax, 3
mov esi, 3
cmovl esi, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 8]
test esi, esi
mov ebx, dword [esp + 0xc]
je 0x10111263
mov edi, esi
mov ecx, dword [esp + 4]
call fcn.10113df9
mov dword [esp + edi*4 + 0x3ed8], eax
dec edi
jne 0x1011305e
mov dword [esp + 0x28], esi
jmp 0x101120b4
cmp dword [esp + 0x24], 1
jne 0x101135a9
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x284]
test esi, esi
je 0x101135a9
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x28c]
mov ecx, dword [esp + 4]
call fcn.10113b15
mov edx, dword [esi]
sub ebx, edx
jb 0x101135a9
cmp ebx, eax
jb 0x101135a9
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 0x288]
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], 0
test edi, edi
mov ebx, dword [esp + 0xc]
je 0x10111263
mov esi, dword [esi + 0x88]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], 0
test esi, esi
jne 0x10113388
jmp 0x10111263
mov dword [esp + 0x28], 0
cmp dword [esp + 0x24], 2
jne 0x101135a9
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
add esi, eax
mov ecx, edi
mov edx, esi
jmp 0x1011336f
mov dword [esp + 0x28], 0
cmp dword [esp + 0x24], 2
jne 0x101135a9
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
sub eax, esi
mov ecx, edi
jmp 0x10113221
mov dword [esp + 0x28], 0
cmp dword [esp + 0x24], 2
jne 0x101135a9
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113df9
mov esi, eax
mov ecx, edi
call fcn.10113df9
mov dword [esp + 0x108], esi
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], 0xffffffff
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0x108]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0xe8], eax
mov edx, dword [esp + 0xe8]
mov ecx, edi
jmp 0x1011336f
cmp dword [esp + 0x24], 2
jne 0x10113614
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.10113df9
mov esi, eax
mov ecx, ebx
call fcn.10113df9
mov dword [esp + 0x28], 0
test esi, esi
je 0x101135a9
push esi
push eax
call fcn.100fe027
add esp, 8
mov ecx, dword [esp + 4]
mov edx, eax
jmp 0x1011336f
cmp dword [esp + 0x24], 2
jne 0x101135a9
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x284], 0
je 0x101135a9
mov ecx, dword [esp + 4]
call fcn.10113b15
mov esi, eax
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 0x28c]
jae 0x101135a9
mov ecx, dword [esp + 4]
call fcn.10113df9
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x288]
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], 0
mov ebx, dword [esp + 0xc]
jmp 0x10111263
cmp dword [esp + 0x24], 1
jne 0x101135a9
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x284], 0
je 0x101135a9
mov ecx, dword [esp + 4]
call fcn.10113b15
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx + 0x28c]
jae 0x101135a9
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x288]
mov edx, dword [ecx + eax*4]
jmp 0x1011336b
mov dword [esp + 0x28], 0
cmp dword [esp + 0x24], 4
jne 0x101135a9
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10113df9
mov dword [esp + 0x10], eax
mov ecx, esi
call fcn.10113df9
mov edi, eax
mov ecx, esi
call fcn.10113df9
mov ebx, eax
mov ecx, esi
call fcn.10113df9
cmp edi, dword [esp + 0x10]
cmovle ebx, eax
mov ecx, esi
mov edx, ebx
jmp 0x1011336f
mov dword [esp + 0x28], 0
cmp dword [esp + 0x24], 0
jne 0x101135a9
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x218]
mov ecx, dword [eax + 0x288]
movzx edx, cx
inc edx
mov esi, ecx
shl esi, 0xd
xor esi, ecx
mov ecx, esi
shr ecx, 0x11
xor ecx, esi
mov esi, ecx
shl esi, 5
xor esi, ecx
mov dword [eax + 0x288], esi
mov ecx, dword [esp + 4]
call fcn.10114566
mov ecx, dword [esp + 8]
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0xc]
jmp 0x10111263
lea eax, [edi + eax*4]
shl edx, 2
push edx
push esi
push eax
call fcn.1023a630
add esp, 0xc
jmp 0x101133cd
mov eax, dword [esp + 0x3e58]
movdqu xmm0, xmmword [esp + 0x3e48]
mov edx, dword [esp + 0x3e44]
sub esp, 0x14
mov dword [esp + 0x10], eax
movdqu xmmword [esp], xmm0
lea ecx, [esp + 0x1038]
call fcn.10114037
add esp, 0x14
mov ecx, dword [esp + 8]
jmp 0x1011125b
xor ebx, ebx
xor edi, edi
jmp 0x101110a0
xor ebx, ebx
xor edi, edi
jmp 0x101111f5
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub eax, dword [ecx]
cmp eax, 8
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x18]
jne 0x10113411
cmp byte [esp + 0xcb], 0
mov edi, dword [esp + 0xc]
jne 0x10113434
jmp 0x10113424
cmp eax, 0x28
mov edi, dword [esp + 0xc]
jne 0x10113434
cmp byte [esp + 0xcb], 0
jne 0x10113434
xor edx, edx
call fcn.10113da0
add eax, dword [esp + 0x70]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
xor ebx, ebx
cmp byte [esi + 0x224], 0
jne 0x101133e1
lea ecx, [esp + 0x1024]
call fcn.10114210
xor ebx, ebx
cmp byte [edi + 9], 0
jne 0x101133e1
cmp byte [edi + 8], 0
jne 0x101135a7
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub eax, dword [ecx]
cmp eax, 9
jb 0x101135a7
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0x108], xmm0
mov edi, 0x12
cmp byte [ebp + 0x10], 0
jne 0x10113614
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10113b15
mov edi, eax
mov ecx, esi
call fcn.10113b15
mov dword [esp + 0x50], eax
mov ecx, esi
call fcn.10113df9
mov ebx, eax
mov ecx, esi
call fcn.10113df9
mov esi, eax
mov ecx, dword [esp + 0x18]
mov edx, edi
lea eax, [esp + 0x108]
push eax
call fcn.1011464b
add esp, 4
mov edi, eax
test eax, eax
jne 0x10113614
lea edi, [esp + 0x10c]
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x108]
lea eax, [esp + 0xec]
push eax
push ebx
push esi
push 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10110d34
add esp, 0x18
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x258]
mov esi, dword [edi + 4]
sub esi, dword [edi]
mov edi, dword [ebx + 4]
call dword [section..00cfg]
push esi
lea eax, [esp + 0x110]
push eax
push edi
call ecx
add esp, 0xc
mov ecx, ebx
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x108]
push eax
call fcn.1011464b
add esp, 4
mov edi, eax
test eax, eax
jne 0x10113614
xor edi, edi
lea esi, [esp + 0x108]
mov ecx, dword [esp + 0xc]
mov edx, esi
lea eax, [esp + 0xec]
push eax
push edi
push edi
push 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10110d34
add esp, 0x18
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x258]
mov ebx, dword [esi + 8]
sub ebx, dword [esi + 4]
mov esi, dword [eax + 4]
call dword [section..00cfg]
push ebx
lea eax, [esp + 0x110]
push eax
push esi
call ecx
add esp, 0xc
jmp 0x10113614
xor ebx, ebx
mov edi, eax
jmp 0x101111f5
xor edi, edi
mov ecx, dword [esp + 0x14]
jmp 0x101111df
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 4]
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0x108], xmm0
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.10113b15
mov dword [esp + 8], eax
mov ecx, edi
call fcn.10113b15
mov dword [esp + 0x50], eax
mov ecx, edi
call fcn.10113df9
mov dword [esp + 0x10], eax
mov ecx, edi
call fcn.10113df9
mov ebx, eax
mov ecx, edi
call fcn.10113df9
mov dword [esp + 0x1c], eax
mov edi, 0x12
cmp byte [ebp + 0x10], 0
jne 0x10113614
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x2f], 0
je 0x1011361b
xor ebx, ebx
jmp 0x101111f5
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x244], 0
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0x34]
je 0x10113666
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x20]
mov ecx, dword [ecx]
mov dword [esp + 0x34], ecx
test eax, eax
jne 0x10113677
mov esi, dword [esp + 0x18]
mov ecx, esi
mov edx, dword [esp + 0x50]
call fcn.10114453
mov dword [esp + 0x50], eax
mov ecx, esi
mov edx, dword [esp + 8]
call fcn.10114453
mov dword [esp + 8], eax
jmp 0x10113677
test eax, eax
je 0x10113614
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
cmp dword [esp + 0x50], 0
js 0x10113614
cmp dword [esp + 8], 0
js 0x10113614
add dword [esp + 0x34], ebx
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x2e], 0
je 0x10113733
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x9c]
mov ebx, dword [eax]
push 2
push ebx
call fcn.100fea48
add esp, 8
mov edi, eax
test eax, eax
jne 0x10113614
mov esi, dword [ebx + 0x58]
mov eax, dword [esp + 0x50]
mov dword [esi], eax
mov word [esi + 4], 0x202
xor edi, edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov eax, dword [esp + 8]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x1c]
mov word [esi + 0x24], 2
push eax
call fcn.100fde32
add esp, 4
sar eax, 0x10
mov dword [esi + 0x28], eax
push dword [esp + 0x10]
call fcn.100fde32
add esp, 4
sar eax, 0x10
mov dword [esi + 0x2c], eax
mov eax, 2
mov edx, dword [esp + 0xc]
mov dword [edx + 0x80], eax
mov ecx, dword [ebx + 0x34]
mov dword [edx + 0x84], ecx
mov dword [edx + 0x48], 0x636f6d70
mov dword [ebx + 0x54], eax
jmp 0x10113614
mov esi, dword [esp + 0x18]
push dword [esi + 0xc]
call fcn.100feac9
add esp, 4
mov ecx, esi
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x108]
push eax
call fcn.101144d6
add esp, 4
mov edi, eax
test eax, eax
jne 0x10113614
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
movsd xmm0, qword [eax]
movaps xmmword [esp + 0x50], xmm0
movq xmm0, qword [ecx]
movdqa xmmword [esp + 0x70], xmm0
lea ebx, [esp + 0xe8]
xor eax, eax
lea esi, [esp + 0x108]
mov ecx, dword [esp + 0xc]
mov edx, esi
push ebx
push eax
push eax
push 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10110d34
add esp, 0x18
mov eax, dword [edi + 4]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 0xec], ecx
sub edx, ecx
mov dword [esp + 0xf0], edx
mov eax, dword [eax + 0x80]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x101137ea
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov ecx, dword [ecx + 4]
call dword [section..00cfg]
lea eax, [esp + 0xec]
push eax
push edi
call ecx
add esp, 8
cmp byte [esp + 0xcb], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
jne 0x10113815
movsd xmm0, qword [eax]
movaps xmmword [esp + 0x50], xmm0
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x24]
movq xmm0, qword [ecx]
movdqa xmmword [esp + 0x70], xmm0
xor edx, edx
mov dword [eax], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x20]
mov dword [eax + 4], edx
mov edx, dword [esp + 8]
push esi
call fcn.101144d6
add esp, 4
mov edi, eax
test eax, eax
jne 0x10113614
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x1c]
lea esi, [esp + 0x108]
mov ecx, dword [esp + 0xc]
mov edx, esi
push ebx
push dword [esp + 0x14]
push eax
push 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10110d34
add esp, 0x18
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 0xec], ecx
sub edx, ecx
mov dword [esp + 0xf0], edx
mov eax, dword [eax + 0x80]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x101138ab
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov ecx, dword [ecx + 4]
call dword [section..00cfg]
lea eax, [esp + 0xec]
push eax
push esi
call ecx
add esp, 8
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x20]
movaps xmm0, xmmword [esp + 0x50]
movlps qword [eax], xmm0
mov eax, dword [ecx + 0x24]
movdqa xmm0, xmmword [esp + 0x70]
movq qword [eax], xmm0
xor edi, edi
jmp 0x10113614