Function at 0x1011a614
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, 0x3ee0
call fcn.1023ba70
mov dword [esp + 8], edx
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [0x10443bf0]
xor eax, ebp
mov dword [esp + 0x3ed8], eax
mov eax, dword [ecx + 0xb0]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x218]
mov eax, dword [eax + 0x220]
mov dword [esp + 0x5c], eax
xorps xmm0, xmm0
mov edx, dword [ecx]
mov eax, dword [ecx + 0x34]
mov dword [esp + 0x60], eax
mov edi, ecx
movups xmmword [esp + 0x3e4c], xmm0
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
xor eax, eax
mov dword [esp + 0x3ed0], eax
mov dword [esp + 0x3ecc], eax
mov dword [esp + 0x3ed4], eax
movups xmmword [esp + 0x3e34], xmm0
mov dword [esp + 0x3e48], eax
mov dword [esp + 0x3e44], eax
xor esi, esi
mov dword [esp + 0xbc], edx
lea eax, [ecx + 4]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0x10
movups xmmword [esp + 0xc8], xmm0
lea ecx, [esp + 0x9c]
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 + 0x80]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [ecx + 8], ebx
movups xmmword [ecx + 0xc], xmm0
lea ecx, [esp + 0x3e18]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], esi
movups xmmword [ecx + 4], xmm0
mov dword [ecx], eax
lea esi, [esp + 0x3d70]
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 + 0x10], 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 + 0xc], eax
lea ebx, [esp + 0x2e60]
mov eax, 0xf10
push eax
xor eax, eax
push eax
push ebx
call fcn.1023e960
add esp, 0xc
mov eax, edi
mov dword [esp + 0x2c], edi
mov cl, byte [edi + 0xb8]
mov byte [esp + 4], cl
mov byte [ebx + 1], cl
mov edi, dword [esp + 0x60]
mov dword [ebx + 4], edi
mov dword [ebx - 0xc], eax
lea eax, [esp + 0x2e54]
mov dword [ebx - 8], eax
mov dword [ebx - 4], esi
lea ebx, [esp + 0x1f44]
mov eax, 0xf10
push eax
xor eax, eax
push eax
push ebx
call fcn.1023e960
add esp, 0xc
mov al, byte [esp + 4]
mov byte [ebx + 1], al
mov dword [ebx + 4], edi
mov eax, dword [esp + 0x2c]
mov dword [ebx - 0xc], eax
lea eax, [esp + 0x2e54]
mov dword [ebx - 8], eax
mov dword [ebx - 4], esi
lea edi, [esp + 0x1014]
mov eax, 0x14
add eax, edi
mov ecx, 0xf10
push ecx
xor ecx, ecx
push ecx
push eax
call fcn.1023e960
add esp, 0xc
mov al, byte [esp + 4]
mov byte [edi + 0x15], al
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x60]
mov dword [edi + 0x18], ecx
mov dword [edi + 8], ebx
lea eax, [esp + 0x2e54]
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 + 0x9c]
mov dword [esi + 0x34], eax
lea eax, [esp + 0x80]
mov dword [esi + 0x38], eax
lea eax, [esp + 0x3e18]
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0xc]
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 + 0xbb]
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 0x1011a90a
mov eax, dword [edx + 0x214]
mov ebx, dword [eax + 0x614]
jmp 0x1011a90f
mov ebx, 0x30
lea edi, [esp + 0xf8]
mov dword [edi], 0xffffffff
push edi
push 0x14
mov esi, dword [esp + 0x18]
push esi
call fcn.10109e85
add esp, 0xc
cmp dword [edi], 0
mov ecx, dword [esp + 0x14]
jne 0x1011a971
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.1010a899
add esp, 0x18
mov dword [ebx + 8], eax
xor ecx, ecx
cmp dword [esp + 0xf8], ecx
je 0x1011aa76
push ebx
push esi
call fcn.10107ec7
add esp, 8
mov ecx, dword [esp + 0x14]
mov eax, 0x40
mov dword [esp + 4], 0
mov bl, 1
test ecx, ecx
je 0x1011a98b
cmp dword [ecx], 0
jne 0x1011a98b
mov dword [ecx], eax
xor esi, esi
mov dword [esp + 0x3d7c], esi
mov dword [esp + 0x3d80], esi
mov dword [esp + 0x3d84], esi
push dword [esp + 0x3d88]
push dword [esp + 0x3d74]
call fcn.10107ec7
add esp, 8
mov dword [esp + 0x3d88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
push dword [esp + 0x98]
push dword [esp + 0x84]
call fcn.10107ec7
add esp, 8
mov dword [esp + 0x98], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
push dword [esp + 0xb4]
push dword [esp + 0xa0]
call fcn.10107ec7
add esp, 8
mov dword [esp + 0xb4], esi
push dword [esp + 0xd4]
push dword [esp + 0xc0]
call fcn.10107ec7
add esp, 8
test bl, bl
jne 0x1011aa60
mov edi, dword [esp + 4]
mov esi, dword [edi]
push dword [edi + 8]
push esi
call fcn.10107ec7
add esp, 8
mov dword [edi + 8], 0
push edi
push esi
call fcn.10107ec7
add esp, 8
mov ecx, dword [esp + 0x3ed8]
xor ecx, ebp
call fcn.1023b4d8
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 0x1011aac2
mov esi, edi
cmp dword [esp + 0xc8], 0x10
ja 0x1011aaa1
lea ecx, [esp + 0xbc]
mov edx, 0x11
call fcn.1011e819
test al, al
je 0x1011aaac
mov dword [esp + 0xcc], 0x11
mov dword [esp + 4], ebx
xor ebx, ebx
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 0
je 0x1011aada
xor eax, eax
jmp 0x1011a980
mov eax, 0x40
mov bl, 1
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x14]
jmp 0x1011a980
mov dword [esp + 0x78], esi
shl dword [esp + 0x5c], 0x10
mov ebx, dword [esp + 0xd4]
mov eax, dword [esp + 8]
movdqu xmm0, xmmword [eax]
movdqu xmmword [ebx], xmm0
mov eax, dword [esp + 0x2c]
add eax, 0x5c
mov dword [esp + 0x70], eax
mov dword [esp + 0x7c], 0x1312d00
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], 0
xor ecx, ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0xc], ecx
mov edi, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
cmp edx, edi
jae 0x1011ab71
lea ecx, [edx + 1]
mov eax, ebx
mov dword [esp + 0x1c], ecx
mov dword [ebx + 0xc], ecx
movzx ebx, byte [edx]
cmp ebx, 0xe
mov ecx, dword [esp + 4]
mov edx, 0
mov esi, dword [esp + 0x2c]
je 0x1011ab5f
cmp ebx, 0xb
jne 0x1011ab69
cmp byte [esi + 9], 0
movzx ebx, bl
cmovne ebx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
jmp 0x1011ab8f
xor eax, eax
cmp dword [esp + 0x38], 0
sete al
lea eax, [eax + eax*2 + 0xb]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x2c]
mov dl, byte [esi + 8]
test dl, dl
mov dword [esp + 8], ebx
je 0x1011ac2b
mov eax, dword [esp + 0x10]
mov dh, al
and dh, 0xfe
cmp al, 0x1f
ja 0x1011abec
cmp al, 0xc
je 0x1011abec
cmp dh, 0xa
je 0x1011abec
mov ebx, dword [esp + 0x10]
add bl, 0xf3
cmp bl, 2
mov eax, dword [esp + 0x10]
jb 0x1011abec
cmp byte [esp + 0xc], 0
jne 0x1011abec
mov ebx, dword [esp + 0x10]
and bl, 0xfd
cmp bl, 1
mov eax, dword [esp + 0x10]
je 0x1011abec
mov eax, dword [ecx + 8]
mov dword [ecx + 0xc], eax
xor ecx, ecx
mov ebx, dword [esp + 8]
jmp 0x1011ab2b
cmp dh, 0xa
mov esi, 0
mov ecx, dword [esp + 0x20]
cmove esi, ecx
test ecx, ecx
cmovle esi, ecx
cmp al, 0xc
cmove esi, ecx
cmp al, 0x20
cmovb ecx, esi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x3c]
movzx esi, cl
mov ebx, 0
cmovae ebx, esi
test cl, cl
cmove ebx, esi
cmp al, 0xc
cmove ebx, esi
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 0
jne 0x1011cc70
dec dword [esp + 0x7c]
je 0x1011ceac
xor ebx, ebx
mov eax, dword [esp + 0x10]
movzx esi, al
cmp al, 0x1f
ja case.default.0x1011ac53
jmp dword [esi*4 + 0x10307780]
mov edi, dword [esp + 4]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x1011bd76
test dl, dl
je 0x1011b999
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 4]
mov edi, dword [esp + 4]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x2c]
mov edx, edi
push eax
lea eax, [esp + 0xbf]
push eax
push dword [ebp + 0x1c]
lea eax, [esp + 0xa8]
jmp 0x1011acd2
test dl, dl
je 0x1011b9b6
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov edi, dword [esp + 4]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x2c]
mov edx, edi
push eax
lea eax, [esp + 0xbf]
push eax
push dword [ebp + 0x1c]
lea eax, [esp + 0x8c]
push eax
call fcn.1011d556
add esp, 0x10
cmp byte [esi + 0x224], 0
mov edx, dword [esp + 0xc]
je 0x1011bd76
jmp 0x1011cc77
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov edx, eax
sub edx, dword [ecx + 8]
je 0x1011ad72
cmp byte [esp + 0x10], 6
sete byte [esp + 0x10]
sar edx, 3
cmp edx, 1
adc edx, 0
mov dword [esp + 0x40], edx
xor edi, edi
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.1011d643
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 + 0x1014]
mov edx, ebx
push esi
call fcn.1011d76d
add esp, 4
inc edi
cmp dword [esp + 0x40], edi
jne 0x1011ad1e
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], esi
jmp 0x1011ba83
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
xor edx, edx
mov dword [esp + 0x34], ecx
cmp ecx, 0x30
jae 0x1011b847
mov ebx, eax
jmp 0x1011b8ef
mov eax, dword [esp + 0x38]
cmp eax, 0x10
jg 0x1011ceac
inc eax
mov edi, eax
mov dword [esp + 0x38], eax
cmp dword [esp + 0xcc], eax
mov esi, dword [esp + 0x18]
ja 0x1011addc
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x1011adda
cmp dword [eax], 0
jne 0x1011adda
mov dword [eax], 0x82
xor edi, edi
imul edi, dword [esp + 0xc4]
add edi, dword [esp + 0xd4]
mov ecx, dword [esp + 4]
call fcn.1011d3b8
mov ecx, dword [esp + 0x2c]
cmp byte [ecx + 8], 0
je 0x1011ae1d
mov ecx, dword [esi + 0x268]
test ecx, ecx
je 0x1011ae1d
push ecx
push eax
call fcn.10108570
add esp, 8
mov ecx, eax
xor eax, eax
dec eax
test ecx, ecx
je 0x1011ae1d
mov eax, dword [ecx]
pxor xmm0, xmm0
movdqu xmmword [edi], xmm0
cmp byte [esp + 0x10], 0x1d
mov edx, dword [esp + 0xc]
jne 0x1011b951
add eax, dword [esi + 0x238]
cmp eax, dword [esi + 0x230]
jae 0x1011cc80
mov ecx, dword [esi + 0x240]
mov ecx, dword [ecx + eax*4]
mov ebx, edi
mov dword [edi + 0xc], ecx
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x240]
mov eax, dword [ecx + eax*4 + 4]
mov dword [edi + 8], eax
mov ecx, edx
jmp 0x1011ab2b
mov edi, dword [esp + 4]
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
cmp eax, 0x10
jb 0x1011ae88
cmp byte [esp + 0x3e1c], 0
jne 0x1011ac5e
mov ecx, dword [esp + 0x2c]
mov edx, edi
push 0
lea eax, [esp + 0xbf]
push eax
push dword [ebp + 0x1c]
lea eax, [esp + 0x8c]
push eax
call fcn.1011d556
add esp, 0x10
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x224], 0
mov esi, 0
jne 0x1011cc77
cmp byte [esp + 0x10], 0x13
jne 0x1011bb35
mov eax, dword [esp + 0x90]
add eax, dword [esp + 0xac]
lea ecx, [esp + 0x3e18]
mov ebx, dword [esp + 8]
mov edx, ebx
push eax
call fcn.1011dfdf
add esp, 4
jmp 0x1011ac62
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
sub edi, eax
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
and edi, 2
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x18]
cmp edi, ecx
jae 0x1011b942
cmp byte [esp + 0x10], 0x1f
sete al
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], esi
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, edi
call fcn.1011d643
mov dword [esp + 0x34], eax
lea edx, [edi + 1]
mov ecx, esi
mov dword [esp + 0x74], edx
call fcn.1011d643
mov dword [esp + 0x10], eax
lea edx, [edi + 2]
mov ecx, esi
call fcn.1011d643
mov ebx, eax
lea edx, [edi + 3]
mov ecx, esi
call fcn.1011d643
mov ecx, eax
mov eax, dword [esp + 0x24]
sub eax, edi
cmp byte [esp + 0x30], 0
jne 0x1011afc7
mov esi, dword [esp + 0x1c]
add esi, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x40]
mov dword [esp + 0x1c], esi
add ebx, esi
mov dword [esp + 0x10], edx
add ecx, edx
cmp eax, 5
jne 0x1011b016
mov al, 1
mov dword [esp + 0x30], eax
add edi, 4
mov esi, ebx
mov ebx, ecx
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.1011d643
mov ecx, eax
mov eax, esi
add ecx, esi
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x40]
mov esi, ebx
mov ebx, ecx
jmp 0x1011b03a
mov esi, dword [esp + 0x40]
add esi, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
add edx, esi
add ebx, dword [esp + 0x1c]
mov dword [esp + 0x40], ebx
add ecx, ebx
mov dword [esp + 0x34], ecx
cmp eax, 5
mov ebx, edx
mov dword [esp + 0x10], edx
jne 0x1011b026
add edi, 4
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.1011d643
mov ecx, eax
mov edx, esi
add ecx, ebx
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x34]
mov esi, ecx
mov dword [esp + 0x30], 0
jmp 0x1011b036
mov al, 1
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x40]
mov esi, ecx
mov eax, ebx
jmp 0x1011b03a
mov dword [esp + 0x30], 0
mov edx, esi
mov esi, ebx
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x1014]
push ebx
push esi
push eax
push dword [esp + 0x1c]
push dword [esp + 0x2c]
call fcn.1011d8dd
add esp, 0x14
add edi, 4
mov ecx, dword [esp + 0x24]
cmp edi, ecx
jb 0x1011af2a
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
jmp 0x1011b946
mov edx, dword [esp + 0x10]
cmp dl, 0xf6
ja 0x1011b9d1
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
mov ebx, dword [esp + 8]
je 0x1011bb0c
add esi, 0xffffff75
mov dword [eax], esi
jmp 0x1011baf9
mov edi, dword [esp + 4]
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
cmp eax, 0x10
jb 0x1011b0d0
cmp byte [esp + 0xbb], 0
jne 0x1011b0d0
mov ecx, edi
xor edx, edx
call fcn.1011d643
add eax, dword [esp + 0x5c]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0xbb], 1
mov ebx, dword [esp + 0x18]
cmp byte [ebx + 0x224], 0
jne 0x1011cc77
mov esi, dword [ebp + 0x18]
mov ecx, edi
call fcn.1011d69c
add eax, esi
mov dword [ebp + 0x18], eax
cmp dword [ebx + 0x1d4], 0
jne 0x1011ac5e
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x1014]
push eax
jmp 0x1011b55b
mov edx, dword [esp + 4]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov edi, eax
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x18]
sub edi, ecx
mov dword [esp + 0x1c], edi
je 0x1011b17b
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.1011d643
add esi, eax
lea edx, [edi + 1]
mov ecx, ebx
mov ebx, dword [esp + 0x10]
call fcn.1011d643
add ebx, eax
lea ecx, [esp + 0x1014]
mov edx, esi
push ebx
call fcn.1011d76d
add esp, 4
add edi, 2
cmp edi, dword [esp + 0x1c]
jb 0x1011b136
mov edx, dword [esp + 4]
mov eax, dword [edx + 8]
mov dword [ebp + 0x14], esi
mov dword [ebp + 0x18], ebx
mov dword [edx + 0xc], eax
jmp 0x1011ba86
test dl, dl
je case.0x1011ac53.0
lea ecx, [esp + 0x1014]
call fcn.1011dab6
mov byte [esp + 0xbb], 1
jmp case.0x1011ac53.0
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x1011ceac
dec eax
mov ebx, eax
mov dword [esp + 0x38], eax
cmp dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
ja 0x1011b1e2
mov eax, dword [esp + 0xc0]
xor ebx, ebx
test eax, eax
je 0x1011b1e2
cmp dword [eax], 0
jne 0x1011b1e2
mov dword [eax], 0x82
imul ebx, dword [esp + 0xc4]
add ebx, dword [esp + 0xd4]
jmp 0x1011ab2b
mov eax, dword [esp + 0x1c]
cmp eax, edi
jae 0x1011b9fc
lea ecx, [eax + 1]
mov edx, dword [esp + 8]
mov dword [edx + 0xc], ecx
mov al, byte [eax]
movzx ebx, al
lea ecx, [ebx - 0x13]
cmp ecx, 0x12
lea esi, [esp + 0x1014]
ja case.default.0x1011b228
mov edx, dword [esp + 0xc]
jmp dword [ecx*4 + 0x10307800]
mov ecx, dword [esp + 4]
mov ebx, edx
lea edx, [ebp + 0x14]
push 0
push 0x1030766c
jmp 0x1011be4f
test dl, dl
je case.0x1011ac53.0
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov dword [eax + 4], 0
mov ecx, edi
call fcn.1011d69c
mov ecx, dword [esi + 0x20]
add dword [ecx], eax
mov byte [esp + 0xbb], 1
cmp byte [esi + 0x2f], 0
mov ebx, dword [esp + 8]
jne 0x1011cc77
mov edx, dword [esp + 0xc]
test dl, dl
je 0x1011bc4a
add dword [ebp + 0x14], eax
jmp 0x1011bd76
test dl, dl
je 0x1011cc8b
cmp byte [esp + 0xc], 0
jne 0x1011cc8b
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x1014]
push dword [ebp + 0x18]
call fcn.1011d6ee
add esp, 4
xor ecx, ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0xac], ecx
lea eax, [esp + 0x3e1c]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x10], ecx
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3e18], eax
mov byte [esp + 0x3e1d], 1
mov eax, dword [esp + 0x38]
test eax, eax
mov edi, dword [esp + 4]
jle 0x1011bbf8
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xc0]
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0xd4]
mov dword [esp + 8], esi
inc eax
mov ebx, eax
lea esi, [eax - 2]
cmp ecx, esi
mov eax, 0
cmovbe esi, eax
ja 0x1011b357
test edx, edx
je 0x1011b357
xor esi, esi
cmp dword [edx], 0
jne 0x1011b357
mov dword [edx], 0x82
mov eax, ebx
dec eax
cmp eax, 1
ja 0x1011b335
mov eax, dword [esp + 0x10]
imul eax, esi
mov ebx, dword [esp + 8]
add ebx, eax
mov dword [esp + 0x38], 0
jmp 0x1011bbfc
mov esi, dword [esp + 0x2c]
cmp byte [esi + 9], 0
je case.0x1011ac53.0
cmp byte [esi + 0x5d], 0
mov ebx, dword [esp + 8]
jne 0x1011cc80
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d3b8
test eax, eax
js 0x1011ac62
mov dword [esi + 0x78], eax
jmp 0x1011ac62
mov edi, dword [esp + 0x2c]
cmp byte [edi + 9], 0
je case.0x1011ac53.0
cmp dword [edi + 0x60], 0
je 0x1011cc80
mov eax, dword [edi + 0x224]
mov ecx, dword [eax + 0xc]
mov esi, dword [edi + 0x80]
mov eax, dword [edi + 0x78]
mov dword [esp + 0x10], eax
mov ebx, dword [edi + 0x7c]
call dword [section..00cfg]
push esi
push ebx
push dword [esp + 0x18]
mov ebx, dword [esp + 0x7c]
push ebx
call ecx
add esp, 0x10
test al, al
je 0x1011b432
mov eax, dword [edi + 0x224]
mov ecx, dword [eax + 0x10]
mov esi, dword [edi + 0x80]
mov eax, dword [edi + 0x78]
mov dword [esp + 0x10], eax
mov ebx, dword [edi + 0x7c]
call dword [section..00cfg]
push esi
push ebx
mov ebx, dword [esp + 0x78]
push dword [esp + 0x18]
push ebx
call ecx
add esp, 0x10
test eax, eax
jne 0x1011ccde
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.1011d3b8
cmp eax, dword [esp + 0x78]
ja 0x1011cc80
mov ecx, ebx
mov edx, esi
push eax
call fcn.1011d400
add esp, 4
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x5d], 1
jmp 0x1011ba86
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
cmp eax, 0x18
jb 0x1011b48a
cmp byte [esp + 0xbb], 0
jne 0x1011b48a
xor edx, edx
call fcn.1011d643
add eax, dword [esp + 0x5c]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0xbb], 1
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x224], 0
jne 0x1011cc77
mov ebx, dword [ebp + 0x18]
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
add esi, ebx
mov dword [ebp + 0x18], esi
mov ebx, dword [ebp + 0x14]
mov ecx, edi
call fcn.1011d69c
add eax, ebx
mov dword [ebp + 0x14], eax
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x1d4], 0
jne case.0x1011ac53.0
lea ecx, [esp + 0x1014]
mov edx, eax
push esi
call fcn.1011d6ee
add esp, 4
jmp case.0x1011ac53.0
mov edi, dword [esp + 4]
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
cmp eax, 0x10
jb 0x1011b51a
cmp byte [esp + 0xbb], 0
jne 0x1011b51a
mov ecx, edi
xor edx, edx
call fcn.1011d643
add eax, dword [esp + 0x5c]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0xbb], 1
mov ebx, dword [esp + 0x18]
cmp byte [ebx + 0x224], 0
jne 0x1011cc77
mov esi, dword [ebp + 0x14]
mov ecx, edi
call fcn.1011d69c
add eax, esi
mov dword [ebp + 0x14], eax
cmp dword [ebx + 0x1d4], 0
jne 0x1011ac5e
lea ecx, [esp + 0x1014]
mov edx, eax
push dword [ebp + 0x18]
call fcn.1011d6ee
add esp, 4
jmp 0x1011ac5e
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
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 0x1011b5d7
xor edi, edi
mov dword [esp + 0x10], esi
mov esi, edi
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.1011d643
mov edi, dword [esp + 0x10]
add edi, eax
lea edx, [esi + 1]
mov ecx, dword [esp + 4]
call fcn.1011d643
add ebx, eax
lea ecx, [esp + 0x1014]
mov dword [esp + 0x10], edi
mov edx, edi
push ebx
call fcn.1011d76d
mov ecx, dword [esp + 0x28]
add esp, 4
lea edi, [esi + 2]
add esi, 8
cmp esi, ecx
jb 0x1011b58e
mov esi, dword [esp + 0x10]
cmp edi, ecx
jae 0x1011b677
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.1011d643
add esi, eax
mov dword [esp + 0x10], esi
mov edx, edi
or edx, 1
mov ecx, dword [esp + 4]
call fcn.1011d643
add eax, ebx
mov dword [esp + 0x1c], eax
lea edx, [edi + 2]
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.1011d643
add eax, esi
mov dword [esp + 0x40], eax
lea edx, [edi + 3]
mov ecx, ebx
call fcn.1011d643
add eax, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
lea edx, [edi + 4]
mov ecx, ebx
call fcn.1011d643
mov esi, eax
add esi, dword [esp + 0x40]
lea edx, [edi + 5]
mov ecx, ebx
call fcn.1011d643
mov ebx, eax
mov eax, dword [esp + 0x30]
add ebx, eax
lea ecx, [esp + 0x1014]
mov edx, dword [esp + 0x10]
push ebx
push esi
push eax
push dword [esp + 0x4c]
push dword [esp + 0x2c]
call fcn.1011d8dd
add esp, 0x14
add edi, 6
cmp edi, dword [esp + 0x24]
jb 0x1011b5df
mov dword [ebp + 0x14], esi
mov dword [ebp + 0x18], ebx
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
jmp 0x1011ba83
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
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 + 0x30], ecx
cmp esi, ecx
jae 0x1011ba63
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x24]
sub eax, esi
test al, 1
jne 0x1011b6ca
mov ebx, dword [esp + 4]
jmp 0x1011b6da
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, esi
call fcn.1011d643
add edi, eax
inc esi
mov dword [esp + 0x10], edi
mov ecx, ebx
mov edx, esi
call fcn.1011d643
mov ecx, dword [esp + 0x40]
add ecx, eax
mov dword [esp + 0x1c], ecx
lea edx, [esi + 1]
mov ecx, ebx
call fcn.1011d643
mov edi, eax
add edi, dword [esp + 0x10]
lea edx, [esi + 2]
mov ecx, ebx
call fcn.1011d643
mov ecx, ebx
mov ebx, eax
add ebx, dword [esp + 0x1c]
lea edx, [esi + 3]
call fcn.1011d643
add eax, ebx
lea ecx, [esp + 0x1014]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x40], eax
push eax
push edi
push ebx
push edi
push dword [esp + 0x2c]
call fcn.1011d8dd
add esp, 0x14
add esi, 4
cmp esi, dword [esp + 0x30]
jb 0x1011b6ba
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x40]
jmp 0x1011ba6b
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
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 + 0x30], ecx
cmp esi, ecx
jae 0x1011ba79
mov eax, dword [esp + 0x24]
sub eax, esi
test al, 1
je 0x1011b7a2
mov ecx, dword [esp + 4]
mov edx, esi
call fcn.1011d643
add edi, eax
inc esi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, esi
call fcn.1011d643
add ebx, eax
mov dword [esp + 0x1c], ebx
lea edx, [esi + 1]
mov ecx, edi
call fcn.1011d643
add eax, ebx
mov dword [esp + 0x40], eax
lea edx, [esi + 2]
mov ecx, edi
mov ebx, edi
call fcn.1011d643
mov edi, eax
add edi, dword [esp + 0x10]
lea edx, [esi + 3]
mov ecx, ebx
call fcn.1011d643
mov ebx, eax
mov eax, dword [esp + 0x40]
add ebx, eax
lea ecx, [esp + 0x1014]
mov edx, dword [esp + 0x1c]
push edi
push ebx
push edi
push eax
push dword [esp + 0x20]
call fcn.1011d8dd
add esp, 0x14
add esi, 4
cmp esi, dword [esp + 0x30]
jb 0x1011b78a
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
jmp 0x1011ba7d
mov eax, dword [esp + 0x1c]
cmp eax, edi
jae 0x1011ba93
lea esi, [eax + 1]
mov ebx, dword [esp + 8]
mov dword [ebx + 0xc], esi
movzx eax, byte [eax]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 4]
jmp 0x1011bab6
sar dword [esp + 0x34], 3
xor edi, edi
mov ecx, dword [esp + 4]
mov ebx, eax
mov edx, edi
call fcn.1011d643
add ebx, eax
mov dword [esp + 0x24], ebx
lea edx, [edi + 1]
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.1011d643
add eax, esi
mov dword [esp + 0x1c], eax
lea edx, [edi + 2]
mov ecx, ebx
call fcn.1011d643
add eax, dword [esp + 0x24]
mov dword [esp + 0x40], eax
lea edx, [edi + 3]
mov ecx, ebx
call fcn.1011d643
add eax, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
lea edx, [edi + 4]
mov ecx, ebx
mov esi, ebx
call fcn.1011d643
mov ebx, eax
add ebx, dword [esp + 0x40]
lea edx, [edi + 5]
mov ecx, esi
call fcn.1011d643
mov esi, eax
mov eax, dword [esp + 0x30]
add esi, eax
lea ecx, [esp + 0x1014]
mov edx, dword [esp + 0x24]
push esi
push ebx
push eax
push dword [esp + 0x4c]
push dword [esp + 0x2c]
call fcn.1011d8dd
add esp, 0x14
lea edx, [edi + 6]
add edi, 0xc
mov eax, ebx
cmp edi, dword [esp + 0x34]
mov edi, edx
jbe 0x1011b84e
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], esi
cmp byte [esp + 0x10], 0x18
mov edi, dword [esp + 4]
jne 0x1011b937
mov ecx, edi
mov dword [esp + 0x10], esi
mov esi, edx
call fcn.1011d643
add ebx, eax
mov dword [ebp + 0x14], ebx
or esi, 1
mov ecx, edi
mov edx, esi
call fcn.1011d643
add eax, dword [esp + 0x10]
mov dword [ebp + 0x18], eax
lea ecx, [esp + 0x1014]
mov edx, ebx
push eax
call fcn.1011d76d
add esp, 4
mov eax, dword [edi + 8]
mov dword [edi + 0xc], eax
jmp 0x1011ba86
mov ecx, dword [esp + 4]
mov dword [ebp + 0x14], esi
mov dword [ebp + 0x18], ebx
jmp 0x1011ba83
add eax, dword [esi + 0x234]
cmp eax, dword [esi + 0x22c]
jae 0x1011cc80
mov ecx, dword [esi + 0x23c]
mov ecx, dword [ecx + eax*4]
mov dword [edi + 4], ecx
cmp byte [esi + 0x30], 0
je 0x1011bc09
mov edx, dword [esi + 0x264]
test edx, edx
je 0x1011bc51
test ecx, ecx
je 0x1011bcf7
mov eax, dword [edx + eax*4]
add eax, ecx
jmp 0x1011bcfb
cmp byte [esp + 0x3e1c], 0
mov ebx, dword [esp + 8]
jne 0x1011b9c8
xor eax, eax
mov edi, dword [esp + 4]
mov esi, dword [esp + 0x18]
jmp 0x1011ac85
cmp byte [esp + 0x3e1c], 0
mov ebx, dword [esp + 8]
je 0x1011bc18
mov edi, dword [esp + 4]
jmp 0x1011ac62
cmp dl, 0xfa
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 8]
ja 0x1011bc27
mov eax, dword [esp + 0x1c]
cmp eax, edi
jae 0x1011bd0c
lea edx, [eax + 1]
mov dword [ebx + 0xc], edx
movzx eax, byte [eax]
jmp 0x1011bd1f
mov eax, dword [esp + 8]
mov ecx, dword [eax]
test ecx, ecx
mov edx, dword [esp + 0xc]
je 0x1011ba1c
xor eax, eax
cmp dword [ecx], 0
mov ebx, 0
jne case.0x1011b228.20
mov dword [ecx], 0x55
xor eax, eax
xor ebx, ebx
cmp ebx, 0x25
ja case.0x1011b228.19
mov ecx, dword [esp + 0x2c]
cmp byte [ecx + 9], 0
jne case.0x1011b228.19
mov dl, byte [ecx + 8]
cmp ebx, 0x11
je 0x1011bc72
test dl, dl
je 0x1011bc72
cmp dword [esp + 0x20], 0
jle 0x1011bc72
mov dword [esp + 0x20], 0
jmp case.0x1011ac53.0
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 8]
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x18], edx
mov dword [ecx + 0xc], eax
jmp 0x1011bd03
mov ecx, dword [esp + 4]
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], ebx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
jmp 0x1011ab2b
mov ebx, dword [esp + 8]
mov esi, dword [ebx]
mov dword [esp + 0x10], 0
test esi, esi
je 0x1011baae
cmp dword [esi], 0
je 0x1011bd4b
mov edx, dword [esp + 4]
mov esi, dword [esp + 0x1c]
cmp esi, edi
jae 0x1011bac5
lea ecx, [esi + 1]
mov dword [ebx + 0xc], ecx
movzx eax, byte [esi]
jmp 0x1011bad8
mov ecx, dword [ebx]
xor eax, eax
test ecx, ecx
je 0x1011bad8
cmp dword [ecx], 0
jne 0x1011bad8
mov dword [ecx], 0x55
mov ecx, dword [edx + 0xc]
mov esi, dword [edx + 0x10]
shl esi, 3
add esi, dword [edx + 8]
cmp ecx, esi
je 0x1011bb0c
mov esi, dword [esp + 0x10]
shl esi, 0x18
shl eax, 0x10
or eax, esi
sar eax, 0x10
mov dword [ecx], eax
mov eax, dword [edx + 0xc]
mov dword [eax + 4], 2
add dword [edx + 0xc], 8
jmp 0x1011bd03
mov eax, dword [edx + 4]
mov edx, dword [esp + 0xc]
mov ecx, edx
test eax, eax
je 0x1011ab2b
cmp dword [eax], 0
mov ecx, edx
jne 0x1011ab2b
mov dword [eax], 0x82
mov ecx, edx
jmp 0x1011ab2b
push 0xf10
push esi
lea eax, [esp + 0x10c]
push eax
call fcn.1023e960
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov al, byte [ecx + 0xb8]
mov byte [esp + 0x105], al
mov eax, dword [esp + 0x60]
mov dword [esp + 0x108], eax
mov dword [esp + 0xf8], ecx
lea eax, [esp + 0x2e54]
mov dword [esp + 0xfc], eax
lea eax, [esp + 0x3d70]
mov dword [esp + 0x100], eax
lea eax, [esp + 0xe0]
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x90]
add eax, dword [esp + 0xac]
lea esi, [esp + 0xdc]
mov ecx, esi
mov ebx, dword [esp + 8]
mov edx, ebx
push eax
call fcn.1011dfdf
add esp, 4
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x9c]
xor eax, eax
push eax
push eax
push esi
lea eax, [esp + 0x8c]
push eax
call fcn.1011e04c
add esp, 0x10
jmp 0x1011ac62
mov ebx, dword [esp + 8]
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov dl, 1
jmp 0x1011bd76
mov edx, dword [esi + 0x23c]
mov eax, dword [edx + eax*4 + 4]
jmp 0x1011bcfb
xor eax, eax
mov edi, dword [esp + 4]
mov esi, dword [esp + 0x18]
jmp 0x1011acb9
cmp dl, 0xff
je 0x1011bd83
mov eax, dword [esp + 0x1c]
cmp eax, edi
jae 0x1011bda4
lea edx, [eax + 1]
mov dword [ebx + 0xc], edx
movzx eax, byte [eax]
jmp 0x1011bdb7
xor edx, edx
jmp 0x1011bd76
mov edx, dword [esi + 0x260]
test edx, edx
cmovle edx, ebx
add ecx, edx
mov ebx, edi
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x23c]
mov eax, dword [edx + eax*4 + 4]
jmp 0x1011bcfd
movzx eax, al
dec eax
cmp eax, 0x20
ja case.0x1011ac53.0
jmp dword [eax*4 + 0x1030784c]
test dl, dl
je case.0x1011ac53.0
mov esi, dword [esp + 4]
mov ecx, esi
xor edx, edx
call fcn.1011d643
mov edi, eax
mov ecx, esi
mov edx, 2
call fcn.1011d643
mov dword [esp + 0x10], eax
mov ecx, esi
mov edx, 4
call fcn.1011d643
mov dword [esp + 0x1c], eax
xor edx, edx
inc edx
mov ecx, esi
call fcn.1011d643
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, ecx
cmp edx, 0xf
ja 0x1011c556
mov eax, dword [esi + 4]
test eax, eax
je 0x1011c56b
cmp dword [eax], 0
jne 0x1011c56b
mov dword [eax], 0x82
jmp 0x1011c56b
xor eax, eax
xor ecx, ecx
mov ebx, edi
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0xc]
jmp 0x1011ab2b
mov edx, dword [ebx]
xor eax, eax
test edx, edx
je 0x1011bd1f
cmp dword [edx], 0
jne 0x1011bd1f
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 0x1011bd9c
shl esi, 8
add eax, esi
add eax, 0xffff096c
mov dword [edi], eax
mov eax, dword [ecx + 0xc]
mov dword [eax + 4], 2
add dword [ecx + 0xc], 8
jmp 0x1011bd03
mov dword [esi], 0x55
mov edi, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
jmp 0x1011b83e
cmp ebx, 8
mov edx, dword [esp + 0xc]
je case.0x1011b228.19
cmp ebx, 0xd
jne case.0x1011b228.20
mov edi, dword [esp + 4]
mov ebx, dword [esp + 8]
mov eax, dword [edi + 8]
mov dword [edi + 0xc], eax
mov ecx, edx
jmp 0x1011ab2b
mov eax, dword [esp + 0x1c]
cmp eax, edi
jae 0x1011bdc8
lea edx, [eax + 1]
mov dword [ebx + 0xc], edx
movzx eax, byte [eax]
mov dword [esp + 0x10], eax
mov eax, edx
jmp 0x1011bde7
mov eax, dword [ecx + 4]
jmp 0x1011bb0f
mov edx, dword [ebx]
xor eax, eax
test edx, edx
je 0x1011bdb7
cmp dword [edx], 0
jne 0x1011bdb7
mov dword [edx], 0x55
shl esi, 8
or esi, eax
mov edx, 0xfa94
sub edx, esi
jmp 0x1011bf18
mov edx, dword [ebx]
mov dword [esp + 0x10], 0
test edx, edx
je 0x1011bde7
cmp dword [edx], 0
jne 0x1011bde7
mov dword [edx], 0x55
mov edi, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
cmp eax, edi
jae 0x1011bdf6
lea edx, [eax + 1]
mov dword [ebx + 0xc], edx
movzx esi, byte [eax]
jmp 0x1011be73
mov edx, dword [ebx]
xor esi, esi
test edx, edx
je 0x1011be03
cmp dword [edx], 0
je 0x1011be67
mov edx, eax
jmp 0x1011be73
mov edi, dword [esp + 4]
mov ecx, edi
lea edx, [ebp + 0x14]
push 0
push 0x10307678
push esi
lea eax, [ebp + 0x18]
push eax
call fcn.1011db25
mov edx, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1011bd72
mov ecx, dword [esp + 4]
mov ebx, edx
lea edx, [ebp + 0x14]
push 0
push 0x10307684
jmp 0x1011be4f
mov ecx, dword [esp + 4]
mov ebx, edx
lea edx, [ebp + 0x14]
push 1
push 0x10307690
push esi
lea eax, [ebp + 0x18]
push eax
call fcn.1011db25
add esp, 0x10
mov ecx, ebx
mov ebx, dword [esp + 8]
jmp 0x1011ab2b
mov dword [edx], 0x55
mov edi, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
cmp edx, edi
jae 0x1011be86
mov ecx, ebx
lea ebx, [edx + 1]
mov dword [ecx + 0xc], ebx
movzx edx, byte [edx]
mov eax, ebx
jmp 0x1011bea5
mov eax, edx
mov ebx, dword [ebx]
xor edx, edx
test ebx, ebx
je 0x1011bea5
cmp dword [ebx], 0
jne 0x1011bea5
mov dword [ebx], 0x55
mov eax, dword [esp + 8]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
cmp eax, edi
jae 0x1011beb8
lea ecx, [eax + 1]
mov ebx, dword [esp + 8]
mov dword [ebx + 0xc], ecx
movzx eax, byte [eax]
jmp 0x1011becf
mov ebx, dword [esp + 8]
mov ecx, dword [ebx]
xor eax, eax
test ecx, ecx
je 0x1011becf
cmp dword [ecx], 0
jne 0x1011becf
mov dword [ecx], 0x55
mov ecx, dword [esp + 0x10]
shl ecx, 0x18
shl esi, 0x10
or esi, ecx
shl edx, 8
or edx, esi
or edx, eax
mov eax, dword [esp + 0x2c]
cmp byte [eax + 8], 0
je 0x1011c351
mov eax, dword [esp + 0x3c]
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 + 0x3c], esi
mov ecx, dword [esp + 4]
call fcn.1011dcbe
jmp 0x1011bd03
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
test eax, eax
setne al
test esi, esi
setne cl
and cl, al
movzx edx, cl
jmp 0x1011c0d3
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
xor edx, edx
or eax, esi
setne dl
jmp 0x1011c0d3
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.1011d69c
xor edx, edx
test eax, eax
sete dl
mov ecx, esi
jmp 0x1011c0d5
test dl, dl
mov edi, dword [esp + 4]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0xc]
je 0x1011bd76
jmp 0x1011ce3d
test dl, dl
je case.0x1011ac53.0
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x24]
mov dword [ecx + 4], eax
mov ecx, edi
call fcn.1011d69c
mov ecx, dword [ebx + 0x24]
mov dword [ecx], eax
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
mov ecx, dword [ebx + 0x20]
add dword [ecx], eax
mov ecx, dword [ebx + 0x20]
add dword [ecx + 4], esi
mov byte [esp + 0xbb], 1
cmp byte [ebx + 0x2f], 0
jne 0x1011cc77
cmp byte [esp + 0xc], 0
je 0x1011c66e
add dword [ebp + 0x14], eax
add dword [ebp + 0x18], esi
jmp case.0x1011ac53.0
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.1011d69c
cmp eax, 0x80000000
je 0x1011c0ac
mov edx, eax
neg edx
cmovs edx, eax
mov ecx, esi
jmp 0x1011c664
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
add esi, eax
jmp 0x1011c484
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
sub eax, esi
jmp 0x1011c620
test dl, dl
je 0x1011c602
cmp byte [esp + 0x3c], 0
je 0x1011c602
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d3b8
mov esi, eax
mov ecx, edi
call fcn.1011d3b8
mov dword [esp + 0x3c], 0
jmp 0x1011c616
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.1011d69c
cmp eax, 0x80000000
jne 0x1011c624
mov ecx, esi
mov edx, 0x7fffffff
jmp 0x1011c664
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
xor edx, edx
cmp eax, esi
sete dl
mov ecx, edi
call fcn.1011dcbe
jmp 0x1011ba86
mov ecx, dword [esp + 0xc]
test dl, dl
mov ebx, dword [esp + 8]
je 0x1011ab2b
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.1011d3b8
mov esi, eax
mov ecx, ebx
call fcn.1011d3b8
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 0x1011cc80
cmp esi, 0x1c
ja case.0x1011c123.4
jmp dword [esi*4 + 0x103078d0]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x284]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1011cc80
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 + 0x28], esi
imul ecx, esi
cmp dword [esp + 0x24], ecx
jne 0x1011cea8
mov ecx, dword [esp + 0x28]
lea eax, [ebx + ecx]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 4]
xor esi, esi
mov dword [esp + 0x20], esi
mov edx, ebx
mov dword [esp + 0x40], ebx
call fcn.1011d643
mov edi, eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jb 0x1011c218
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.1011d643
mov dword [esp + 0xf8], esi
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], 0xffffffff
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xf8]
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 + 0xd8], eax
mov ecx, dword [esp + 0x10]
add edi, dword [esp + 0xd8]
inc ebx
mov edx, ecx
mov eax, dword [esp + 0x1c]
cmp ebx, dword [eax]
jb 0x1011c19b
jmp 0x1011c21c
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x40]
lea ebx, [eax + 1]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
sub edx, ecx
sar edx, 3
cmp edx, eax
mov esi, dword [esp + 0x20]
jae 0x1011c256
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 4]
test edx, edx
je 0x1011c26a
cmp dword [edx], 0
jne 0x1011c26a
mov dword [edx], 0x82
jmp 0x1011c26a
mov dword [ecx + eax*8], edi
mov eax, dword [esp + 4]
mov ecx, dword [eax + 8]
mov dword [ecx + ebx*8 - 4], 0
mov ecx, eax
inc esi
cmp esi, dword [esp + 0x28]
jne 0x1011c176
mov eax, dword [ecx + 0xc]
mov edx, eax
sub edx, dword [ecx + 8]
sar edx, 3
mov esi, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
cmp edx, esi
jae 0x1011c675
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0xc]
mov ecx, edx
test eax, eax
mov ebx, dword [esp + 8]
je 0x1011ab2b
cmp dword [eax], 0
mov ecx, edx
jne 0x1011ab2b
mov dword [eax], 0xa1
mov ecx, edx
jmp 0x1011ab2b
mov ecx, dword [esp + 0xc]
test dl, dl
mov ebx, dword [esp + 8]
je 0x1011ab2b
cmp dword [esp + 0x28], 0
jle 0x1011c632
dec dword [esp + 0x28]
jmp 0x1011ba86
mov ecx, dword [esp + 4]
call fcn.1011d69c
jmp 0x1011ba86
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d3b8
mov esi, eax
mov ecx, edi
call fcn.1011d69c
mov edx, dword [esp + 0xc]
mov ecx, edx
cmp esi, 0x1f
mov ebx, dword [esp + 8]
ja 0x1011ab2b
mov dword [esp + esi*4 + 0x3e4c], eax
mov ecx, edx
jmp 0x1011ab2b
mov ecx, dword [esp + 4]
call fcn.1011d3b8
mov ecx, dword [esp + 0xc]
cmp eax, 0x1f
mov ebx, dword [esp + 8]
ja 0x1011ab2b
mov edx, dword [esp + eax*4 + 0x3e4c]
mov ecx, dword [esp + 4]
call fcn.1011de0c
jmp 0x1011bd03
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.1011d69c
mov dword [esp + 0x10], eax
mov ecx, esi
call fcn.1011d69c
mov edi, eax
mov ecx, esi
call fcn.1011d69c
mov ebx, eax
mov ecx, esi
call fcn.1011d69c
cmp edi, dword [esp + 0x10]
cmovle ebx, eax
mov ecx, esi
mov edx, ebx
jmp 0x1011c664
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 0x1011c664
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
mov dword [esp + 0xf8], esi
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], 0xffffffff
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xf8]
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 + 0xd8], eax
mov edx, dword [esp + 0xd8]
mov ecx, edi
jmp 0x1011c664
mov ecx, dword [esp + 4]
call fcn.1011d69c
test eax, eax
jle 0x1011c628
mov esi, eax
cmp eax, 0xa
setae cl
shr eax, cl
mov edi, eax
push eax
push esi
call fcn.101078ba
add esp, 8
add eax, edi
inc eax
sar eax, 1
cmp eax, edi
jne 0x1011c454
jmp 0x1011c62a
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
mov edx, eax
call fcn.1011de0c
mov ecx, edi
mov edx, esi
jmp 0x1011c664
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.1011d69c
mov esi, eax
mov ecx, ebx
call fcn.1011d69c
mov edi, eax
mov ecx, ebx
mov edx, esi
call fcn.1011de0c
mov ecx, ebx
jmp 0x1011c62e
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d3b8
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0xc]
sub esi, edx
mov ebx, dword [esp + 8]
je 0x1011ab2b
sar esi, 3
test eax, eax
js 0x1011c652
xor edx, edx
cmp eax, esi
jae 0x1011c655
not eax
add esi, eax
jmp 0x1011c653
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d3b8
mov esi, eax
mov ecx, edi
call fcn.1011d3b8
mov ecx, edi
mov edx, eax
push esi
call fcn.1011de47
add esp, 4
jmp 0x1011ba86
test dl, dl
je case.0x1011ac53.0
cmp byte [esp + 0xc], 0
je case.0x1011ac53.0
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov dword [ebp + 0x18], eax
mov ecx, edi
call fcn.1011d69c
mov dword [ebp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1d4], 0
jmp 0x1011ac5e
add edi, eax
mov eax, dword [esp + 0x10]
sub eax, edi
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 8]
mov dword [eax + 0x14], 0
mov ecx, esi
mov edx, 3
call fcn.1011d643
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, ecx
cmp edx, 0x1f
ja 0x1011c598
mov eax, dword [esi + 4]
test eax, eax
je 0x1011c5b1
cmp dword [eax], 0
jne 0x1011c5b1
mov dword [eax], 0x82
jmp 0x1011c5b1
mov edx, dword [esp + 0x10]
add edx, eax
mov eax, dword [esp + 0x1c]
sub eax, edx
mov dword [ecx + 0x20], eax
mov eax, dword [esi + 8]
mov dword [eax + 0x24], 0
xor eax, eax
cmp ebx, 1
setne al
mov esi, dword [esp + 0x18]
mov ebx, dword [esi + 0x20]
lea edi, [esp + 0x9c]
lea ecx, [esp + 0x80]
cmove edi, ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 4]
push dword [ebx + eax*4]
lea eax, [esp + 0xbf]
push eax
push dword [ebp + 0x1c]
push edi
mov edi, edx
call fcn.1011d556
add esp, 0x10
cmp byte [esi + 0x224], 0
mov ebx, dword [esp + 8]
jmp 0x1011ace2
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
push esi
push eax
call fcn.101078ba
add esp, 8
mov ecx, edi
jmp 0x1011c662
neg eax
jmp 0x1011c660
xor edi, edi
mov ecx, dword [esp + 4]
mov edx, edi
jmp 0x1011c664
cmp dword [esp + 0x20], 0
je 0x1011cc80
mov eax, dword [esp + 0x20]
mov edx, dword [esp + eax*4 + 0x3ec8]
dec eax
mov dword [esp + 0x20], eax
jmp 0x1011c3c6
dec esi
mov edx, esi
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.1011d643
mov ecx, esi
mov edx, eax
call fcn.1011de0c
jmp 0x1011ba86
xor edx, edx
jmp case.0x1011b228.19
mov ecx, esi
shl ecx, 3
sub eax, ecx
mov ecx, dword [esp + 4]
mov dword [ecx + 0xc], eax
jmp 0x1011c6e5
mov eax, dword [esp + 4]
mov dword [eax + 0xc], ecx
jmp 0x1011c74f
cmp dword [esp + 0x24], 3
jne 0x1011cc80
cmp byte [esp + 0xc], 0
je 0x1011c6c5
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1d4], 0
je 0x1011cc80
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1d8], 7
jne 0x1011cc80
mov edx, dword [ebp + 0x14]
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.1011de0c
mov edx, dword [ebp + 0x18]
mov ecx, esi
call fcn.1011de0c
mov dword [esp + 0x28], 2
mov dword [esp + 0x20], 0
jmp 0x1011ba86
mov dword [esp + 0x20], 0
cmp dword [esp + 0x24], 0
jne 0x1011cea8
mov ecx, 0
mov dword [esp + 0x28], 0
cmp byte [esp + 0xc], 0
mov ebx, dword [esp + 8]
je 0x1011ab2b
mov ecx, dword [esp + 0x18]
mov edx, 6
call fcn.1011a5e9
test eax, eax
jne 0x1011cc77
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1d4], 1
mov dword [eax + 0x1d8], 0
mov dword [esp + 0x20], 0
jmp 0x1011cb17
mov dword [esp + 0x20], 0
cmp dword [esp + 0x24], 0
jne 0x1011cea8
mov ecx, 0
mov dword [esp + 0x28], 0
cmp byte [esp + 0xc], 0
mov ebx, dword [esp + 8]
je 0x1011ab2b
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1d4], 0
je 0x1011cea8
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 + 0xc]
mov dword [esp + 0x28], 0
cmp eax, 5
mov ebx, dword [esp + 8]
ja 0x1011ab2b
xor edx, edx
inc edx
mov ecx, dword [esp + 0x18]
call fcn.1011a5e9
mov dword [esp + 0x20], 0
test eax, eax
jne 0x1011cea8
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 + 0x3e2c], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + ecx*4 + 0x3e30], eax
cmp esi, 6
mov ebx, dword [esp + 8]
je 0x1011cc35
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], 0
cmp esi, 3
je 0x1011cc35
jmp 0x1011ab2b
mov dword [esp + 0x20], 0
cmp dword [esp + 0x24], 1
jne 0x1011cea8
mov ecx, 0
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0xc]
test dl, dl
mov ebx, dword [esp + 8]
je 0x1011ab2b
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xac], eax
lea ecx, [esp + 0x3e1c]
mov dword [ecx + 0x14], eax
mov dword [esp + 0x20], 0
mov dword [ecx + 0x10], eax
pxor xmm0, xmm0
movdqu xmmword [ecx], xmm0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3e18], eax
mov byte [esp + 0x3e1d], 1
mov ecx, edx
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
jmp 0x1011ab2b
cmp dword [esp + 0x24], 0
js 0x1011cea8
test esi, esi
js 0x1011cea8
mov eax, dword [esp + 0x24]
cmp eax, 3
mov esi, 3
cmovl esi, eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0xc]
test esi, esi
mov ebx, dword [esp + 8]
je 0x1011ab2b
mov edi, esi
mov ecx, dword [esp + 4]
call fcn.1011d69c
mov dword [esp + edi*4 + 0x3ec8], eax
dec edi
jne 0x1011c8f8
mov dword [esp + 0x20], esi
jmp 0x1011ba86
cmp dword [esp + 0x24], 1
jne 0x1011cea8
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x284]
test esi, esi
je 0x1011cea8
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x28c]
mov ecx, dword [esp + 4]
call fcn.1011d3b8
mov edx, dword [esi]
sub ebx, edx
jb 0x1011cea8
cmp ebx, eax
jb 0x1011cea8
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 0x288]
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], 0
test edi, edi
mov ebx, dword [esp + 8]
je 0x1011ab2b
mov esi, dword [esi + 0x88]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], 0
test esi, esi
jne 0x1011cc22
jmp 0x1011ab2b
mov dword [esp + 0x20], 0
cmp dword [esp + 0x24], 2
jne 0x1011cea8
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
add esi, eax
mov ecx, edi
mov edx, esi
jmp 0x1011cc09
mov dword [esp + 0x20], 0
cmp dword [esp + 0x24], 2
jne 0x1011cea8
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
sub eax, esi
mov ecx, edi
jmp 0x1011cabb
mov dword [esp + 0x20], 0
cmp dword [esp + 0x24], 2
jne 0x1011cea8
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.1011d69c
mov esi, eax
mov ecx, edi
call fcn.1011d69c
mov dword [esp + 0xf8], esi
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], 0xffffffff
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xf8]
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 + 0xd8], eax
mov edx, dword [esp + 0xd8]
mov ecx, edi
jmp 0x1011cc09
cmp dword [esp + 0x24], 2
jne 0x1011cc80
mov ebx, dword [esp + 4]
mov ecx, ebx
call fcn.1011d69c
mov esi, eax
mov ecx, ebx
call fcn.1011d69c
mov dword [esp + 0x20], 0
test esi, esi
je 0x1011cea8
push esi
push eax
call fcn.101078ba
add esp, 8
mov ecx, dword [esp + 4]
mov edx, eax
jmp 0x1011cc09
cmp dword [esp + 0x24], 2
jne 0x1011cea8
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x284], 0
je 0x1011cea8
mov ecx, dword [esp + 4]
call fcn.1011d3b8
mov esi, eax
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 0x28c]
jae 0x1011cea8
mov ecx, dword [esp + 4]
call fcn.1011d69c
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x288]
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], 0
mov ebx, dword [esp + 8]
jmp 0x1011ab2b
cmp dword [esp + 0x24], 1
jne 0x1011cea8
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x284], 0
je 0x1011cea8
mov ecx, dword [esp + 4]
call fcn.1011d3b8
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx + 0x28c]
jae 0x1011cea8
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x288]
mov edx, dword [ecx + eax*4]
jmp 0x1011cc05
mov dword [esp + 0x20], 0
cmp dword [esp + 0x24], 4
jne 0x1011cea8
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.1011d69c
mov dword [esp + 0x10], eax
mov ecx, esi
call fcn.1011d69c
mov edi, eax
mov ecx, esi
call fcn.1011d69c
mov ebx, eax
mov ecx, esi
call fcn.1011d69c
cmp edi, dword [esp + 0x10]
cmovle ebx, eax
mov ecx, esi
mov edx, ebx
jmp 0x1011cc09
mov dword [esp + 0x20], 0
cmp dword [esp + 0x24], 0
jne 0x1011cea8
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.1011de0c
mov ecx, dword [esp + 0xc]
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 8]
jmp 0x1011ab2b
lea eax, [edi + eax*4]
shl edx, 2
push edx
push esi
push eax
call fcn.1023e3e0
add esp, 0xc
jmp 0x1011cc67
mov eax, dword [esp + 0x3e48]
movdqu xmm0, xmmword [esp + 0x3e38]
mov edx, dword [esp + 0x3e34]
sub esp, 0x14
mov dword [esp + 0x10], eax
movdqu xmmword [esp], xmm0
lea ecx, [esp + 0x1028]
call fcn.1011d8dd
add esp, 0x14
mov ecx, dword [esp + 0xc]
jmp 0x1011ab23
xor ebx, ebx
jmp 0x1011aabb
xor ebx, ebx
xor eax, eax
jmp 0x1011aad1
xor ebx, ebx
mov ecx, dword [esp + 0x14]
jmp 0x1011ceae
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
cmp eax, 8
mov esi, dword [esp + 0x18]
je 0x1011cca3
cmp eax, 0x28
jne 0x1011ccbd
cmp byte [esp + 0xbb], 0
jne 0x1011ccbd
xor edx, edx
call fcn.1011d643
add eax, dword [esp + 0x5c]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
cmp byte [esi + 0x224], 0
jne 0x1011ccdc
lea ecx, [esp + 0x1014]
call fcn.1011dab6
mov eax, dword [esp + 0x2c]
cmp byte [eax + 9], 0
je 0x1011cce5
xor eax, eax
xor ebx, ebx
jmp 0x1011aad1
cmp byte [eax + 8], 0
jne 0x1011ce30
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
cmp eax, 9
jb 0x1011ce30
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0xf8], xmm0
mov edi, 0x12
cmp byte [ebp + 0x10], 0
jne 0x1011ce9b
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.1011d3b8
mov edi, eax
mov ecx, esi
call fcn.1011d3b8
mov dword [esp + 0x60], eax
mov ecx, esi
call fcn.1011d69c
mov ebx, eax
mov ecx, esi
call fcn.1011d69c
mov esi, eax
mov ecx, dword [esp + 0x18]
mov edx, edi
lea eax, [esp + 0xf8]
push eax
call fcn.1011def7
add esp, 4
mov edi, eax
test eax, eax
jne 0x1011ce9b
lea edi, [esp + 0xfc]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xf8]
lea eax, [esp + 0xdc]
push eax
push ebx
push esi
push 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1011a614
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 + 0x100]
push eax
push edi
call ecx
add esp, 0xc
mov ecx, ebx
mov edx, dword [esp + 0x60]
lea eax, [esp + 0xf8]
push eax
call fcn.1011def7
add esp, 4
mov edi, eax
test eax, eax
jne 0x1011ce9b
xor ebx, ebx
lea esi, [esp + 0xf8]
mov ecx, dword [esp + 0x2c]
mov edx, esi
lea eax, [esp + 0xdc]
push eax
push ebx
xor edi, edi
push ebx
push 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1011a614
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 + 0x100]
push eax
push esi
call ecx
add esp, 0xc
jmp 0x1011ce9b
xor eax, eax
mov ecx, dword [esp + 0x14]
xor ebx, ebx
jmp 0x1011a980
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 4]
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0xf8], xmm0
mov ecx, edi
call fcn.1011d3b8
mov dword [esp + 0x10], eax
mov ecx, edi
call fcn.1011d3b8
mov dword [esp + 0x60], eax
mov ecx, edi
call fcn.1011d69c
mov dword [esp + 0x1c], eax
mov ecx, edi
call fcn.1011d69c
mov ebx, eax
mov ecx, edi
call fcn.1011d69c
mov dword [esp + 0xc], eax
mov edi, 0x12
cmp byte [ebp + 0x10], 0
jne 0x1011ce9b
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x2f], 0
je 0x1011ceb8
xor ebx, ebx
mov ecx, dword [esp + 0x14]
mov eax, edi
jmp 0x1011a980
mov ecx, dword [esp + 0x14]
xor ebx, ebx
mov eax, 0x12
jmp 0x1011a980
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x244], 0
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0x34]
je 0x1011cf03
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x20]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
test eax, eax
jne 0x1011cf14
mov esi, dword [esp + 0x18]
mov ecx, esi
mov edx, dword [esp + 0x60]
call fcn.1011dcf9
mov dword [esp + 0x60], eax
mov ecx, esi
mov edx, dword [esp + 0x10]
call fcn.1011dcf9
mov dword [esp + 0x10], eax
jmp 0x1011cf14
test eax, eax
je 0x1011ce9b
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
mov dword [esp + 8], eax
cmp dword [esp + 0x60], 0
js 0x1011ce9b
cmp dword [esp + 0x10], 0
js 0x1011ce9b
add dword [esp + 8], ebx
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x2e], 0
je 0x1011cfd6
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x9c]
mov ebx, dword [eax]
push 2
push ebx
call fcn.1010821f
add esp, 8
mov edi, eax
test eax, eax
jne 0x1011ce9b
mov esi, dword [ebx + 0x58]
mov eax, dword [esp + 0x60]
mov dword [esi], eax
mov word [esi + 4], 0x202
xor eax, eax
mov dword [esi + 8], eax
xor edi, edi
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 8]
sub eax, dword [esp + 0xc]
mov word [esi + 0x24], 2
push eax
call fcn.101076c5
add esp, 4
sar eax, 0x10
mov dword [esi + 0x28], eax
push dword [esp + 0x1c]
call fcn.101076c5
add esp, 4
sar eax, 0x10
mov dword [esi + 0x2c], eax
mov eax, 2
mov edx, dword [esp + 0x2c]
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 0x1011ce9b
mov esi, dword [esp + 0x18]
push dword [esi + 0xc]
call fcn.101082a0
add esp, 4
mov ecx, esi
mov edx, dword [esp + 0x60]
lea eax, [esp + 0xf8]
push eax
call fcn.1011dd7c
add esp, 4
mov edi, eax
test eax, eax
jne 0x1011ce9b
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
movsd xmm0, qword [eax]
movaps xmmword [esp + 0x60], xmm0
movq xmm0, qword [ecx]
movdqa xmmword [esp + 0x40], xmm0
lea ebx, [esp + 0xd8]
xor eax, eax
lea esi, [esp + 0xf8]
mov ecx, dword [esp + 0x2c]
mov edx, esi
push ebx
push eax
push eax
push 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1011a614
add esp, 0x18
mov eax, dword [edi + 4]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 0xdc], ecx
sub edx, ecx
mov dword [esp + 0xe0], edx
mov eax, dword [eax + 0x80]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x1011d08d
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov ecx, dword [ecx + 4]
call dword [section..00cfg]
lea eax, [esp + 0xdc]
push eax
push edi
call ecx
add esp, 8
cmp byte [esp + 0xbb], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
jne 0x1011d0b8
movsd xmm0, qword [eax]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x24]
movq xmm0, qword [ecx]
movdqa xmmword [esp + 0x40], 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 + 0x10]
push esi
call fcn.1011dd7c
add esp, 4
mov edi, eax
test eax, eax
jne 0x1011ce9b
mov eax, dword [esp + 8]
sub eax, dword [esp + 0xc]
lea esi, [esp + 0xf8]
mov ecx, dword [esp + 0x2c]
mov edx, esi
push ebx
push dword [esp + 0x20]
push eax
push 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1011a614
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 + 0xdc], ecx
sub edx, ecx
mov dword [esp + 0xe0], edx
mov eax, dword [eax + 0x80]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x1011d14e
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov ecx, dword [ecx + 4]
call dword [section..00cfg]
lea eax, [esp + 0xdc]
push eax
push esi
call ecx
add esp, 8
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x20]
movaps xmm0, xmmword [esp + 0x60]
movlps qword [eax], xmm0
mov eax, dword [ecx + 0x24]
movdqa xmm0, xmmword [esp + 0x40]
movq qword [eax], xmm0
xor edi, edi
jmp 0x1011ce9b