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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101c3b77
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x368
mov eax, dword [0x102100f8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x35c], ecx
mov eax, dword [0x102c8684]
xor edx, edx
mov dword [ebp - 0x328], edx
test eax, eax
jne 0x100d3633
push 0x128
call fcn.101559fd
add esp, 4
mov dword [ebp - 0x324], eax
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.100b7520
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x102c8684]
mov dword [ebp - 0x328], 1
mov dword [0x102c8684], eax
test esi, esi
je 0x100d3633
mov ecx, esi
call fcn.100bc490
push 0x128
push esi
call fcn.10155db7
mov eax, dword [0x102c8684]
add esp, 8
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x54]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx]
mov ecx, eax
call edx
mov esi, eax
mov dword [ebp - 0x344], esi
test esi, esi
je 0x100d4f92
xor edx, edx
xor eax, eax
mov dword [ebp - 0x348], edx
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x354], edx
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x350], eax
mov dword [ebp - 4], 1
mov eax, dword [esi + 0x230]
test eax, eax
je 0x100d36b5
cmp eax, 0x7ffffff
ja 0x100d4fb0
push eax
lea ecx, [ebp - 0x358]
call fcn.100d5610
mov eax, dword [ebp - 0x350]
mov edx, dword [ebp - 0x358]
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x348], edx
mov eax, dword [esi + 0x230]
mov ecx, eax
mov edi, dword [esi + 0x220]
shl ecx, 4
sub ecx, eax
lea eax, [edi + ecx*8]
mov dword [ebp - 0x32c], eax
cmp edi, eax
je 0x100d3862
add edi, 0x28
mov ecx, eax
nop
mov eax, dword [edi - 0x14]
mov esi, dword [edi - 0x18]
mov dword [ebp - 0x334], eax
mov eax, esi
and eax, 3
or eax, 0
jne 0x100d3842
mov edx, dword [edi]
mov ecx, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x2c], al
lea eax, [ecx + 1]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x338], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d3717
sub ecx, dword [ebp - 0x338]
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.100049f0
mov byte [ebp - 4], 2
mov ecx, esi
mov edx, dword [ebp - 0x334]
mov eax, edx
shrd ecx, eax, 0x10
shrd esi, edx, 2
movzx eax, cx
mov dword [ebp - 0x334], eax
and esi, 0x3fff
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x338], esi
cmp eax, dword [ebp - 0x360]
je 0x100d37da
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x48]
call fcn.10003fa0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x354]
mov dword [eax], esi
mov esi, dword [ebp - 0x354]
mov eax, dword [ebp - 0x334]
mov word [esi + 4], ax
lea ecx, [esi + 8]
lea eax, [ebp - 0x48]
push eax
call fcn.10003fa0
mov edx, dword [ebp - 0x34]
cmp edx, 0x10
jb 0x100d37cf
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d37c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
add esi, 0x20
mov dword [ebp - 0x354], esi
jmp 0x100d3804
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x334]
push ecx
lea ecx, [ebp - 0x338]
push ecx
push eax
lea ecx, [ebp - 0x358]
call fcn.100d59f0
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x360], eax
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x100d383c
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d3832
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov ecx, dword [ebp - 0x32c]
add edi, 0x78
lea eax, [edi - 0x28]
cmp eax, ecx
jne 0x100d36e0
mov edx, dword [ebp - 0x358]
mov esi, dword [ebp - 0x344]
mov dword [ebp - 0x348], edx
mov ecx, dword [ebp - 0x354]
push dword [ebp - 0x324]
sub ecx, edx
mov edx, dword [ebp - 0x354]
sar ecx, 5
mov dword [ebp - 0x34c], ecx
push ecx
mov ecx, dword [ebp - 0x348]
call fcn.100d6600
mov ecx, dword [esi + 0x28c]
add esp, 8
mov eax, dword [esi + 0x29c]
mov dword [ebp - 0x338], ecx
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x334], eax
cmp ecx, eax
je 0x100d44b4
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x32c], ecx
mov edi, dword [ecx]
test edi, edi
je 0x100d4497
cmp edi, 0x2329
je 0x100d4497
mov edx, dword [ebp - 0x34c]
mov esi, dword [ebp - 0x348]
test edx, edx
jle 0x100d3911
mov ecx, edx
shr ecx, 1
mov eax, ecx
shl eax, 5
cmp dword [eax + esi], edi
jge 0x100d38ff
add eax, 0x20
add esi, eax
or eax, 0xffffffff
sub eax, ecx
add edx, eax
jmp 0x100d3901
mov edx, ecx
test edx, edx
jg 0x100d38e3
mov ecx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x334]
cmp esi, dword [ebp - 0x354]
je 0x100d4497
nop dword [eax]
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x100d4491
mov edx, dword [ebp - 0x344]
movzx ecx, word [esi + 4]
push ecx
mov ecx, edx
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
call eax
mov dword [ebp - 0x330], eax
test eax, eax
je 0x100d447c
mov eax, dword [0x102c8684]
test eax, eax
jne 0x100d39a7
push 0x128
call fcn.101559fd
add esp, 4
mov dword [ebp - 0x370], eax
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.100b7520
or dword [ebp - 0x328], 2
mov byte [ebp - 4], 1
mov edi, dword [0x102c8684]
mov dword [0x102c8684], eax
test edi, edi
je 0x100d39a7
mov ecx, edi
call fcn.100bc490
push 0x128
push edi
call fcn.10155db7
mov eax, dword [0x102c8684]
add esp, 8
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [edi]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x32c]
cmp dword [eax + 0x2c], 0xfffffffe
jne 0x100d39e0
push 0x12f
push 0x101eda80
push str._IsReadOnly__
call fcn.1017e55f
mov eax, dword [ebp - 0x32c]
add esp, 0xc
mov eax, dword [eax + 0x24]
mov ecx, edi
inc eax
push eax
call dword [ebp - 0x340]
mov edx, eax
mov dword [ebp - 0xc0], 0
mov ecx, edx
mov dword [ebp - 0xb0], 0
xor eax, eax
mov dword [ebp - 0xac], 7
mov word [ebp - 0xc0], ax
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100d3a20
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xc0]
call fcn.100287f0
mov byte [ebp - 4], 5
mov eax, dword [0x102c8684]
test eax, eax
jne 0x100d3a9b
push 0x128
call fcn.101559fd
add esp, 4
mov dword [ebp - 0x36c], eax
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.100b7520
or dword [ebp - 0x328], 4
mov byte [ebp - 4], 5
mov edi, dword [0x102c8684]
mov dword [0x102c8684], eax
test edi, edi
je 0x100d3a9b
mov ecx, edi
call fcn.100bc490
push 0x128
push edi
call fcn.10155db7
mov eax, dword [0x102c8684]
add esp, 8
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [ebp - 0x32c]
cmp dword [eax + 0x2c], 0xfffffffe
jne 0x100d3ac9
push 0x12f
push 0x101eda80
push str._IsReadOnly__
call fcn.1017e55f
mov eax, dword [ebp - 0x32c]
add esp, 0xc
mov edx, dword [eax + 0x24]
mov ecx, edi
mov eax, dword [edi]
inc edx
push edx
mov eax, dword [eax + 0xbc]
call eax
mov edx, eax
mov dword [ebp - 0xa8], 0
mov ecx, edx
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d3b06
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0xa8]
call fcn.100049f0
mov edi, dword [ebp - 0x330]
mov byte [ebp - 4], 8
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x38], 0
mov edx, dword [edi + 0x1dc]
mov ecx, edx
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x340], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d3b50
sub ecx, dword [ebp - 0x340]
push ecx
push edx
lea ecx, [ebp - 0x48]
call fcn.100049f0
mov ecx, dword [ebp - 0x32c]
xor eax, eax
mov byte [ebp - 4], 9
cmp dword [ecx + 0x78], 7
mov ecx, edi
sete al
add eax, 6
mov dword [ebp - 0x340], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x30]
call eax
movzx ecx, al
mov eax, dword [ebp - 0x32c]
mov eax, dword [eax + 0x78]
dec eax
add ecx, eax
cmp dword [ebp - 0x340], ecx
jl 0x100d3bb5
mov eax, ecx
xor edx, edx
shr eax, 0x1f
test al, al
cmovne ecx, edx
mov dword [ebp - 0x340], ecx
mov eax, dword [0x102c8684]
test eax, eax
jne 0x100d3c16
push 0x128
call fcn.101559fd
add esp, 4
mov dword [ebp - 0x364], eax
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.100b7520
or dword [ebp - 0x328], 8
mov byte [ebp - 4], 9
mov edi, dword [0x102c8684]
mov dword [0x102c8684], eax
test edi, edi
je 0x100d3c10
mov ecx, edi
call fcn.100bc490
push 0x128
push edi
call fcn.10155db7
mov eax, dword [0x102c8684]
add esp, 8
mov edi, dword [ebp - 0x330]
mov eax, dword [eax + 4]
mov ecx, edi
mov eax, dword [eax]
mov dword [ebp - 0x324], eax
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
mov edx, eax
mov dword [ebp - 0x60], 0
mov ecx, edx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x330], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d3c50
sub ecx, dword [ebp - 0x330]
push ecx
push edx
lea ecx, [ebp - 0x60]
call fcn.100049f0
mov eax, dword [ebp - 0x328]
or eax, 0x10
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x60]
mov ecx, dword [ebp - 0x324]
cmp dword [ebp - 0x4c], 0x10
cmovae edx, dword [ebp - 0x60]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0xbc]
call eax
mov edx, eax
mov dword [ebp - 0x78], 0
mov ecx, edx
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x324], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d3cc0
sub ecx, dword [ebp - 0x324]
push ecx
push edx
lea ecx, [ebp - 0x78]
call fcn.100049f0
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x4c]
cmp edx, 0x10
jb 0x100d3d0f
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d3d05
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
mov eax, dword [eax + 0xc]
call eax
mov edx, eax
mov dword [ebp - 0xd8], 0
mov ecx, edx
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0xd8], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x324], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d3d60
sub ecx, dword [ebp - 0x324]
push ecx
push edx
lea ecx, [ebp - 0xd8]
call fcn.100049f0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x78]
cmp dword [ebp - 0x64], 0x10
mov edx, 0x811c9dc5
mov dword [ebp - 0x330], edx
cmovae ecx, dword [ebp - 0x78]
mov al, byte [ecx]
test al, al
je 0x100d3dba
nop word [eax + eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x100d3da0
mov dword [ebp - 0x330], edx
lea eax, [esi + 8]
mov edx, str.resource_flash_
push eax
lea ecx, [ebp - 0x2c]
call fcn.10005c20
add esp, 4
push str..png
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.10003cc0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x90], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x80], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x100d3e3b
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d3e31
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
lea ecx, [ebp - 0x320]
call fcn.100d51a0
mov byte [ebp - 4], 0x13
mov edx, dword [edi + 0x1dc]
mov ecx, edx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
lea eax, [ecx + 1]
mov dword [ebp - 0x324], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d3e70
sub ecx, dword [ebp - 0x324]
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.100049f0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x30c]
cmp edx, 0x10
jb 0x100d3ec5
mov ecx, dword [ebp - 0x320]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d3ebb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
movups xmm0, xmmword [ebp - 0x2c]
mov eax, dword [edi]
mov ecx, edi
movups xmmword [ebp - 0x320], xmm0
movq xmm0, qword [ebp - 0x1c]
mov eax, dword [eax]
movq qword [ebp - 0x310], xmm0
call eax
mov ecx, dword [ebp - 0x32c]
mov word [ebp - 0x290], ax
cmp dword [ecx + 0xc], 0xfffffffe
mov eax, dword [ecx]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x288], eax
jne 0x100d3f29
push 0x12f
push 0x101eda80
push str._IsReadOnly__
call fcn.1017e55f
mov ecx, dword [ebp - 0x32c]
add esp, 0xc
mov edx, dword [ecx + 4]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x324], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d3f37
sub ecx, dword [ebp - 0x324]
push ecx
push edx
lea ecx, [ebp - 0x308]
call fcn.100049f0
cmp dword [ebp - 0x94], 0x10
lea eax, [ebp - 0xa8]
push dword [ebp - 0x98]
cmovae eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0x2d8]
push eax
call fcn.100049f0
cmp dword [ebp - 0xac], 8
lea eax, [ebp - 0xc0]
push dword [ebp - 0xb0]
cmovae eax, dword [ebp - 0xc0]
lea ecx, [ebp - 0x2f0]
push eax
call fcn.100287f0
cmp dword [ebp - 0x7c], 0x10
lea eax, [ebp - 0x90]
push dword [ebp - 0x80]
cmovae eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x2c0]
push eax
call fcn.100049f0
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax]
call eax
movzx eax, ax
mov ecx, 0x1f4
cmp ax, cx
jl 0x100d3fe0
mov ecx, 0x13a3
cmp ax, cx
jl 0x100d40ba
cmp ax, 0x3b
je 0x100d40ba
cmp ax, 0x2a
je 0x100d40ba
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax]
call eax
movzx eax, ax
mov ecx, 0x1275
cmp ax, cx
je 0x100d40ba
mov ecx, 0x13a3
cmp ax, cx
jl 0x100d4025
mov ecx, 0x13ac
cmp ax, cx
jl 0x100d40ba
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
mov edx, eax
mov dword [ebp - 0x2c], 0
mov ecx, edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
lea eax, [ecx + 1]
mov dword [ebp - 0x324], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4050
sub ecx, dword [ebp - 0x324]
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.100049f0
or dword [ebp - 0x328], 0x160
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.10027f60
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x100d4157
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d40ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
jmp 0x100d4154
mov edx, dword [edi + 0xa0]
mov ecx, edx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
lea eax, [ecx + 1]
mov dword [ebp - 0x324], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d40e0
sub ecx, dword [ebp - 0x324]
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.100049f0
mov eax, dword [ebp - 0x328]
lea ecx, [ebp - 0x2a8]
or eax, 0xe0
mov dword [ebp - 0x328], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10027f60
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x100d4157
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4141
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x328], eax
add esp, 8
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x284]
test ecx, ecx
je 0x100d416b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x32c]
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x320]
push eax
mov dword [ebp - 0x284], 0
call fcn.100d5d10
mov ecx, dword [ebp - 0x35c]
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x368]
mov byte [ebp - 4], 0x15
push eax
call fcn.100d6a30
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0x12
call fcn.10064340
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
mov dword [ebp - 0x60], 0
mov edx, ecx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea eax, [edx + 1]
mov dword [ebp - 0x324], eax
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100d4200
sub edx, dword [ebp - 0x324]
push edx
push ecx
lea ecx, [ebp - 0x60]
call fcn.100049f0
or dword [ebp - 0x328], 0x200
mov ecx, dword [ebp - 0x35c]
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 4], 0x16
lea ecx, [ecx + 0x1c]
call fcn.100d5390
mov dword [ebp - 0x324], eax
mov byte [ebp - 4], 0x17
mov edx, dword [edi + 0x1dc]
mov ecx, edx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4265
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.100049f0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x324]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x378]
push eax
call fcn.100d5e20
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x100d42ce
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d42c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x4c]
cmp edx, 0x10
jb 0x100d4306
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d42fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
lea ecx, [ebp - 0x320]
call fcn.10064340
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x7c]
cmp edx, 0x10
jb 0x100d434c
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4342
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0xc4]
cmp edx, 0x10
jb 0x100d438a
mov ecx, dword [ebp - 0xd8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4380
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x64]
cmp edx, 0x10
jb 0x100d43c2
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d43b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x34]
cmp edx, 0x10
jb 0x100d43fa
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d43f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x94]
cmp edx, 0x10
jb 0x100d4438
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d442e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xac]
cmp edx, 8
jb 0x100d447c
mov ecx, dword [ebp - 0xc0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4472
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov ecx, dword [ebp - 0x32c]
add esi, 0x20
cmp esi, dword [ebp - 0x354]
jne 0x100d3920
mov eax, dword [ebp - 0x334]
mov ecx, dword [ebp - 0x338]
add ecx, 0x18
mov dword [ebp - 0x338], ecx
cmp ecx, eax
jne 0x100d38b4
mov esi, dword [ebp - 0x344]
mov eax, dword [ebp - 0x344]
mov esi, dword [esi + 0xf8]
mov eax, dword [eax + 0x108]
lea eax, [eax + eax*2]
lea eax, [esi + eax*8]
mov dword [ebp - 0x338], eax
cmp esi, eax
je 0x100d4bbe
add esi, 0x14
nop dword [eax]
mov eax, dword [esi]
mov byte [ebp - 4], 0x19
mov edx, dword [eax + 0x1dc]
mov ecx, edx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4506
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x48]
call fcn.100049f0
push ecx
push str.customplayer
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.10003b60
mov edx, dword [ebp - 0x34]
mov edi, eax
cmp edx, 0x10
jb 0x100d4561
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4557
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
cmp edi, 0xffffffff
je 0x100d4bac
mov eax, dword [esi]
cmp dword [eax + 0x6c], 0
je 0x100d4bac
mov eax, dword [0x102c8684]
test eax, eax
jne 0x100d45ca
push 0x128
call fcn.101559fd
add esp, 4
mov dword [ebp - 0x368], eax
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.100b7520
mov byte [ebp - 4], 1
mov edi, dword [0x102c8684]
mov dword [0x102c8684], eax
test edi, edi
je 0x100d45ca
mov ecx, edi
call fcn.100bc490
push 0x128
push edi
call fcn.10155db7
mov eax, dword [0x102c8684]
add esp, 8
mov eax, dword [eax + 4]
mov ecx, dword [esi]
mov edi, dword [eax]
mov eax, dword [edi]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x34c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov edx, eax
mov dword [ebp - 0x60], 0
mov ecx, edx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x324], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4610
sub ecx, dword [ebp - 0x324]
push ecx
push edx
lea ecx, [ebp - 0x60]
call fcn.100049f0
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x4c], 0x10
mov ecx, edi
cmovae eax, dword [ebp - 0x60]
push eax
call dword [ebp - 0x34c]
mov edx, eax
mov dword [ebp - 0x2c], 0
mov ecx, edx
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100d4661
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.100287f0
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x4c]
cmp edx, 0x10
jb 0x100d46b2
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d46a8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov eax, dword [0x102c8684]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
test eax, eax
jne 0x100d4718
push 0x128
call fcn.101559fd
add esp, 4
mov dword [ebp - 0x364], eax
mov ecx, eax
mov byte [ebp - 4], 0x1e
call fcn.100b7520
mov byte [ebp - 4], 0x1d
mov edi, dword [0x102c8684]
mov dword [0x102c8684], eax
test edi, edi
je 0x100d4718
mov ecx, edi
call fcn.100bc490
push 0x128
push edi
call fcn.10155db7
mov eax, dword [0x102c8684]
add esp, 8
mov eax, dword [eax + 4]
mov ecx, dword [esi]
mov edi, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov edx, eax
mov dword [ebp - 0x78], 0
mov ecx, edx
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x324], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4750
sub ecx, dword [ebp - 0x324]
push ecx
push edx
lea ecx, [ebp - 0x78]
call fcn.100049f0
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x78]
cmp dword [ebp - 0x64], 0x10
mov ecx, edi
mov eax, dword [edi]
cmovae edx, dword [ebp - 0x78]
push edx
mov eax, dword [eax + 0xbc]
call eax
mov edx, eax
mov dword [ebp - 0xa8], 0
mov ecx, edx
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d47b0
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0xa8]
call fcn.100049f0
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x64]
cmp edx, 0x10
jb 0x100d47fe
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d47f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov eax, dword [esi]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
mov edx, dword [eax + 0x6c]
mov ecx, edx
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0xf
mov byte [ebp - 0xc0], 0
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4840
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0xc0]
call fcn.100049f0
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x22
push eax
mov edx, str.resource_flash_
lea ecx, [ebp - 0x48]
call fcn.10005d40
add esp, 4
push str..png
mov ecx, eax
mov byte [ebp - 4], 0x23
call fcn.10003cc0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x90], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x80], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x34]
cmp edx, 0x10
jb 0x100d48de
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d48d4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
mov byte [ebp - 4], 0x26
mov edx, dword [ebp - 0xac]
cmp edx, 0x10
jb 0x100d492e
mov ecx, dword [ebp - 0xc0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4924
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov ecx, dword [esi]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0xf
mov byte [ebp - 0xc0], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
lea ecx, [ebp - 0x180]
mov byte [ebp - 0x339], al
call fcn.100d51a0
push 6
push str.agents
mov byte [ebp - 4], 0x27
call fcn.100049f0
cmp dword [ebp - 0x7c], 0x10
lea ecx, [ebp - 0x90]
push dword [ebp - 0x80]
cmovae ecx, dword [ebp - 0x90]
push ecx
lea ecx, [ebp - 0x120]
call fcn.100049f0
movzx eax, byte [ebp - 0x339]
lea ecx, [ebp - 0x138]
cmp dword [ebp - 0x94], 0x10
push dword [ebp - 0x98]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xa8]
cmovae eax, dword [ebp - 0xa8]
push eax
mov dword [ebp - 0xec], 0
call fcn.100049f0
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
push dword [ebp - 0x1c]
cmovae eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x150]
push eax
call fcn.100287f0
mov eax, dword [esi]
mov byte [ebp - 4], 0x28
mov edx, dword [eax + 0x1dc]
mov ecx, edx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4a10
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x48]
call fcn.100049f0
mov byte [ebp - 4], 0x27
mov edx, dword [ebp - 0x154]
cmp edx, 0x10
jb 0x100d4a61
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4a57
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
movups xmm0, xmmword [ebp - 0x48]
movups xmmword [ebp - 0x168], xmm0
movq xmm0, qword [ebp - 0x38]
movq qword [ebp - 0x158], xmm0
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x100d4a8d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x27
mov edx, 0xe40c292c
mov ecx, 0x101ee539
mov dword [ebp - 0xe4], 0
call fcn.1001af60
mov dword [ebp - 0x228], eax
lea ecx, [ebp - 0x224]
lea eax, [ebp - 0x180]
push eax
call fcn.100d5d10
mov ecx, dword [ebp - 0x35c]
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x36c]
mov byte [ebp - 4], 0x2a
push eax
call fcn.100d6a30
lea ecx, [ebp - 0x224]
call fcn.10064340
lea ecx, [ebp - 0x180]
call fcn.10064340
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x7c]
cmp edx, 0x10
jb 0x100d4b30
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4b26
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x94]
cmp edx, 0x10
jb 0x100d4b6e
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4b64
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x100d4bac
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4ba2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
add esi, 0x18
lea eax, [esi - 0x14]
cmp eax, dword [ebp - 0x338]
jne 0x100d44e0
mov eax, dword [ebp - 0x344]
mov edi, dword [eax + 0x2b0]
mov eax, dword [eax + 0x2c0]
lea eax, [eax + eax*2]
lea eax, [edi + eax*8]
mov dword [ebp - 0x34c], eax
cmp edi, eax
je 0x100d4f48
nop dword [eax]
nop dword [eax + eax]
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0xd8], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0xc8], xmm0
mov esi, dword [ebp - 0xc4]
mov eax, dword [esi]
test eax, eax
je 0x100d4f39
cmp eax, 0xe4
jne 0x100d4c7d
mov eax, dword [0x102c8684]
test eax, eax
jne 0x100d4c77
push 0x128
call fcn.101559fd
add esp, 4
mov dword [ebp - 0x368], eax
mov ecx, eax
mov byte [ebp - 4], 0x2b
call fcn.100b7520
mov ecx, dword [0x102c8684]
mov dword [ebp - 0x324], ecx
mov dword [0x102c8684], eax
test ecx, ecx
je 0x100d4c77
call fcn.100bc490
push 0x128
push dword [ebp - 0x324]
call fcn.10155db7
mov eax, dword [0x102c8684]
add esp, 8
mov dword [eax + 0x120], esi
mov eax, dword [esi]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x278], eax
mov byte [ebp - 0x274], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0xf
mov byte [ebp - 0x270], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
mov word [ebp - 0x230], 0
mov byte [ebp - 0x22e], 0
mov byte [ebp - 4], 0x2c
cmp dword [esi + 0x60], 0xfffffffe
jne 0x100d4d2f
push 0x12f
push 0x101eda80
push str._IsReadOnly__
call fcn.1017e55f
add esp, 0xc
mov edx, dword [esi + 0x58]
mov ecx, edx
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
lea eax, [ecx + 1]
mov byte [ebp - 0x90], 0
mov dword [ebp - 0x324], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4d60
sub ecx, dword [ebp - 0x324]
push ecx
push edx
lea ecx, [ebp - 0x90]
call fcn.100049f0
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x2d
push eax
mov edx, str.resource_flash_
lea ecx, [ebp - 0x48]
call fcn.10005d40
add esp, 4
push str._large.png
mov ecx, eax
mov byte [ebp - 4], 0x2e
call fcn.10003cc0
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x34]
movq qword [ebp - 0x248], xmm1
movups xmmword [ebp - 0x258], xmm0
cmp edx, 0x10
jb 0x100d4e05
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4dfb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp edx, 0x10
jb 0x100d4e52
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d4e48
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push edx
push ecx
call fcn.10155db7
add esp, 8
mov eax, dword [0x102c8684]
test eax, eax
jne 0x100d4eaf
push 0x128
call fcn.101559fd
add esp, 4
mov dword [ebp - 0x364], eax
mov ecx, eax
mov byte [ebp - 4], 0x2f
call fcn.100b7520
mov byte [ebp - 4], 0x2c
mov ecx, dword [0x102c8684]
mov dword [ebp - 0x324], ecx
mov dword [0x102c8684], eax
test ecx, ecx
je 0x100d4eaf
call fcn.100bc490
push 0x128
push dword [ebp - 0x324]
call fcn.10155db7
mov eax, dword [0x102c8684]
add esp, 8
cmp dword [esi + 0x30], 0xfffffffe
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ebp - 0x324], ecx
jne 0x100d4edd
push 0x12f
push 0x101eda80
push str._IsReadOnly__
call fcn.1017e55f
mov ecx, dword [ebp - 0x324]
add esp, 0xc
mov eax, dword [ecx]
push dword [esi + 0x28]
mov eax, dword [eax + 0xbc]
call eax
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x324], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x100d4ef5
sub edx, dword [ebp - 0x324]
lea ecx, [ebp - 0x270]
push edx
push eax
call fcn.100049f0
mov ecx, dword [ebp - 0x35c]
lea eax, [ebp - 0x278]
push eax
mov dword [ebp - 0x23c], esi
lea ecx, [ecx + 8]
call fcn.100490b0
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 1
call fcn.10049250
add edi, 0x18
cmp edi, dword [ebp - 0x34c]
jne 0x100d4bf0
mov esi, dword [ebp - 0x348]
test esi, esi
je 0x100d4f92
mov edx, dword [ebp - 0x354]
push ecx
mov ecx, esi
call fcn.100d6010
mov ecx, dword [ebp - 0x360]
add esp, 4
sub ecx, esi
mov eax, esi
and ecx, 0xffffffe0
cmp ecx, 0x1000
jb 0x100d4f88
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d4fb5
push ecx
push esi
call fcn.10155db7
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101559ea
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.100d5580
call fcn.1017e89f
int3