Function at 0x100a4370
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fc290
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x1011f050]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor ebx, ebx
lea eax, [ebp - 0x48]
mov dword [ebp - 0x18], ebx
push ebx
push eax
mov dword [ebp - 0x48], 0x766c6156
mov dword [ebp - 0x44], 0x31303065
mov byte [ebp - 0x40], bl
call dword [sym.imp.USER32.dll_FindWindowA]
mov ecx, dword [0x10145fa4]
push 0x100c97c0
push 0xfffffffffffffffc
push eax
call ecx
mov edi, dword [0x10146100]
mov dword [0x10146acc], eax
mov dword [0x10146450], edi
mov eax, dword [edi]
mov dword [0x10146454], eax
test eax, eax
je 0x100a44f4
xor esi, esi
nop
mov eax, dword [0x10146454]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a441f
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a441f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a441f
test eax, 0x100
jne 0x100a441f
inc esi
jmp 0x100a43f0
mov dword [0x1014645c], esi
test esi, esi
je 0x100a44f4
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x10146458
je 0x100a4485
mov ecx, dword [eax]
mov dword [eax], ebx
mov eax, dword [0x10146458]
mov dword [0x10146458], ecx
test eax, eax
je 0x100a4485
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a44bf
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 1
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10146458]
test esi, esi
je 0x100a44f4
mov eax, dword [0x1014645c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10146454]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x10146460], 1
xor eax, eax
cmp byte [0x10146460], al
setne al
add eax, 0x29
cmp dword [0x10146454], 0
je 0x100a4546
mov ecx, dword [0x10146458]
test ecx, ecx
je 0x100a4546
cmp eax, dword [0x1014645c]
ja 0x100a4546
mov dword [ecx + eax*4], 0x100b7e80
mov eax, dword [0x10146454]
mov ebx, dword [eax + 0xa4]
neg ebx
sbb ebx, ebx
add ebx, 2
test bl, 2
je 0x100a453e
and ebx, 0xfffffffd
test bl, 1
je 0x100a4546
and ebx, 0xfffffffe
mov edi, dword [0x101460e8]
mov dword [0x10146478], edi
mov edx, dword [edi]
mov dword [0x1014647c], edx
test edx, edx
je 0x100a4679
xor esi, esi
mov ecx, dword [edx + esi*4]
test ecx, ecx
je 0x100a459a
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a4594
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a4594
test eax, 0x100
jne 0x100a4594
mov edx, dword [0x1014647c]
inc esi
jmp 0x100a4564
mov edx, dword [0x1014647c]
mov dword [0x10146484], esi
test esi, esi
je 0x100a4679
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x10146480
je 0x100a4604
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x10146480]
mov dword [0x10146480], ecx
test eax, eax
je 0x100a4604
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 2
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a463e
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 3
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10146480]
test esi, esi
je 0x100a4673
mov eax, dword [0x10146484]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x1014647c]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x10146488], 1
mov edx, dword [0x1014647c]
xor eax, eax
cmp byte [0x10146488], al
setne al
add eax, 5
test edx, edx
je 0x100a46cf
mov ecx, dword [0x10146480]
test ecx, ecx
je 0x100a46cf
cmp eax, dword [0x10146484]
ja 0x100a46cf
mov dword [ecx + eax*4], 0x100ab820
xor ecx, ecx
mov edx, dword [0x1014647c]
cmp dword [edx + 0x14], ecx
sete cl
lea ecx, [ecx*4 + 4]
or ecx, ebx
mov ebx, ecx
mov eax, ecx
and ebx, 0xfffffff7
and al, 8
cmove ebx, ecx
test bl, 4
je 0x100a46cf
and ebx, 0xfffffffb
xor eax, eax
cmp byte [0x10146488], al
setne al
add eax, 6
test edx, edx
je 0x100a4724
mov ecx, dword [0x10146480]
test ecx, ecx
je 0x100a4724
cmp eax, dword [0x10146484]
ja 0x100a4724
mov dword [ecx + eax*4], 0x100ab8d0
mov edx, dword [0x1014647c]
cmp dword [edx + 0x18], 0
je 0x100a470b
or ebx, 0x10
jmp 0x100a470e
or ebx, 0x20
mov ecx, ebx
mov eax, ebx
and ecx, 0xffffffdf
and al, 0x20
cmove ecx, ebx
mov ebx, ecx
test bl, 0x10
je 0x100a4724
and ebx, 0xffffffef
xor eax, eax
cmp byte [0x10146488], al
setne al
add eax, 7
test edx, edx
je 0x100a477f
mov ecx, dword [0x10146480]
test ecx, ecx
je 0x100a477f
cmp eax, dword [0x10146484]
ja 0x100a477f
mov dword [ecx + eax*4], 0x100ab8f0
mov edx, dword [0x1014647c]
cmp dword [edx + 0x1c], 0
je 0x100a4760
or ebx, 0x40
jmp 0x100a4766
or ebx, 0x80
mov ecx, ebx
mov eax, ebx
and ecx, 0xffffff7f
and al, 0x80
cmove ecx, ebx
mov ebx, ecx
test bl, 0x40
je 0x100a477f
and ebx, 0xffffffbf
xor eax, eax
cmp byte [0x10146488], al
setne al
add eax, 0x24
test edx, edx
je 0x100a47e8
mov ecx, dword [0x10146480]
test ecx, ecx
je 0x100a47e8
cmp eax, dword [0x10146484]
ja 0x100a47e8
mov dword [ecx + eax*4], 0x100ab960
mov eax, dword [0x1014647c]
cmp dword [eax + 0x90], 0
je 0x100a47c0
or ebx, 0x100
jmp 0x100a47c6
or ebx, 0x200
mov ecx, ebx
mov eax, ebx
and ecx, 0xfffffdff
and eax, 0x200
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x100
je 0x100a47e8
and ebx, 0xfffffeff
mov edi, dword [0x101460f0]
mov dword [0x101464a0], edi
mov eax, dword [edi]
mov dword [0x101464a4], eax
test eax, eax
je 0x100a490d
xor esi, esi
mov eax, dword [0x101464a4]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a4834
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a4834
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a4834
test eax, 0x100
jne 0x100a4834
inc esi
jmp 0x100a4805
mov dword [0x101464ac], esi
test esi, esi
je 0x100a490d
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x101464a8
je 0x100a489e
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101464a8]
mov dword [0x101464a8], ecx
test eax, eax
je 0x100a489e
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 4
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a48d8
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 5
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101464a8]
test esi, esi
je 0x100a490d
mov eax, dword [0x101464ac]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101464a4]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101464b0], 1
xor eax, eax
cmp byte [0x101464b0], al
setne al
add eax, 0x1b
cmp dword [0x101464a4], 0
je 0x100a4978
mov ecx, dword [0x101464a8]
test ecx, ecx
je 0x100a4978
cmp eax, dword [0x101464ac]
ja 0x100a4978
mov dword [ecx + eax*4], 0x100a9300
mov eax, dword [0x101464a4]
cmp dword [eax + 0x6c], 0
je 0x100a4950
or ebx, 0x400
jmp 0x100a4956
or ebx, 0x800
mov ecx, ebx
mov eax, ebx
and ecx, 0xfffff7ff
and eax, 0x800
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x400
je 0x100a4978
and ebx, 0xfffffbff
xor eax, eax
cmp byte [0x101464b0], al
setne al
add eax, 0x5d
cmp dword [0x101464a4], 0
je 0x100a49e6
mov ecx, dword [0x101464a8]
test ecx, ecx
je 0x100a49e6
cmp eax, dword [0x101464ac]
ja 0x100a49e6
mov dword [ecx + eax*4], 0x100a9490
mov eax, dword [0x101464a4]
cmp dword [eax + 0x174], 0
je 0x100a49be
or ebx, 0x1000
jmp 0x100a49c4
or ebx, 0x2000
mov ecx, ebx
mov eax, ebx
and ecx, 0xffffdfff
and eax, 0x2000
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x1000
je 0x100a49e6
and ebx, 0xffffefff
mov edi, dword [0x10146144]
mov dword [0x101464b4], edi
mov eax, dword [edi]
mov dword [0x101464b8], eax
test eax, eax
je 0x100a4b0b
xor esi, esi
mov eax, dword [0x101464b8]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a4a32
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a4a32
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a4a32
test eax, 0x100
jne 0x100a4a32
inc esi
jmp 0x100a4a03
mov dword [0x101464c0], esi
test esi, esi
je 0x100a4b0b
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x101464bc
je 0x100a4a9c
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101464bc]
mov dword [0x101464bc], ecx
test eax, eax
je 0x100a4a9c
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 6
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a4ad6
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 7
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101464bc]
test esi, esi
je 0x100a4b0b
mov eax, dword [0x101464c0]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101464b8]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101464c4], 1
xor eax, eax
cmp byte [0x101464c4], al
setne al
add eax, 5
cmp dword [0x101464b8], 0
je 0x100a4b76
mov ecx, dword [0x101464bc]
test ecx, ecx
je 0x100a4b76
cmp eax, dword [0x101464c0]
ja 0x100a4b76
mov dword [ecx + eax*4], 0x100a9650
mov eax, dword [0x101464b8]
cmp dword [eax + 0x14], 0
je 0x100a4b4e
or ebx, 0x4000
jmp 0x100a4b54
or ebx, 0x8000
mov ecx, ebx
mov eax, ebx
and ecx, 0xffff7fff
and eax, 0x8000
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x4000
je 0x100a4b76
and ebx, 0xffffbfff
mov edi, dword [0x10146108]
mov dword [0x101464c8], edi
mov eax, dword [edi]
mov dword [0x101464cc], eax
test eax, eax
je 0x100a4c9b
xor esi, esi
mov eax, dword [0x101464cc]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a4bc2
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a4bc2
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a4bc2
test eax, 0x100
jne 0x100a4bc2
inc esi
jmp 0x100a4b93
mov dword [0x101464d4], esi
test esi, esi
je 0x100a4c9b
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x101464d0
je 0x100a4c2c
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101464d0]
mov dword [0x101464d0], ecx
test eax, eax
je 0x100a4c2c
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 8
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a4c66
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 9
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101464d0]
test esi, esi
je 0x100a4c9b
mov eax, dword [0x101464d4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101464cc]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101464d8], 1
xor eax, eax
cmp byte [0x101464d8], al
setne al
add eax, 0xe
cmp dword [0x101464cc], 0
je 0x100a4d06
mov ecx, dword [0x101464d0]
test ecx, ecx
je 0x100a4d06
cmp eax, dword [0x101464d4]
ja 0x100a4d06
mov dword [ecx + eax*4], 0x100bdb60
mov eax, dword [0x101464cc]
cmp dword [eax + 0x38], 0
je 0x100a4cde
or ebx, 0x10000
jmp 0x100a4ce4
or ebx, 0x20000
mov ecx, ebx
mov eax, ebx
and ecx, 0xfffdffff
and eax, 0x20000
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x10000
je 0x100a4d06
and ebx, 0xfffeffff
xor eax, eax
cmp byte [0x101464d8], al
setne al
add eax, 0x13
cmp dword [0x101464cc], 0
je 0x100a4d71
mov ecx, dword [0x101464d0]
test ecx, ecx
je 0x100a4d71
cmp eax, dword [0x101464d4]
ja 0x100a4d71
mov dword [ecx + eax*4], 0x100bdf80
mov eax, dword [0x101464cc]
cmp dword [eax + 0x4c], 0
je 0x100a4d49
or ebx, 0x40000
jmp 0x100a4d4f
or ebx, 0x80000
mov ecx, ebx
mov eax, ebx
and ecx, 0xfff7ffff
and eax, 0x80000
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x40000
je 0x100a4d71
and ebx, 0xfffbffff
mov edi, dword [0x10146148]
mov dword [0x10146464], edi
mov edx, dword [edi]
mov dword [0x10146468], edx
test edx, edx
je 0x100a4ea5
xor esi, esi
nop
mov ecx, dword [edx + esi*4]
test ecx, ecx
je 0x100a4dc6
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a4dc0
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a4dc0
test eax, 0x100
jne 0x100a4dc0
mov edx, dword [0x10146468]
inc esi
jmp 0x100a4d90
mov edx, dword [0x10146468]
mov dword [0x10146470], esi
test esi, esi
je 0x100a4ea5
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x1014646c
je 0x100a4e30
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x1014646c]
mov dword [0x1014646c], ecx
test eax, eax
je 0x100a4e30
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xa
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a4e6a
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xb
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x1014646c]
test esi, esi
je 0x100a4e9f
mov eax, dword [0x10146470]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10146468]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x10146474], 1
mov edx, dword [0x10146468]
xor eax, eax
cmp byte [0x10146474], al
setne al
add eax, 0x10
test edx, edx
je 0x100a4f0c
mov ecx, dword [0x1014646c]
test ecx, ecx
je 0x100a4f0c
cmp eax, dword [0x10146470]
ja 0x100a4f0c
mov dword [ecx + eax*4], 0x100b7ba0
mov edx, dword [0x10146468]
cmp dword [edx + 0x40], 0
je 0x100a4ee4
or ebx, 0x100000
jmp 0x100a4eea
or ebx, 0x200000
mov ecx, ebx
mov eax, ebx
and ecx, 0xffdfffff
and eax, 0x200000
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x100000
je 0x100a4f0c
and ebx, 0xffefffff
xor eax, eax
cmp byte [0x10146474], al
setne al
add eax, 0x11
test edx, edx
je 0x100a4f73
mov ecx, dword [0x1014646c]
test ecx, ecx
je 0x100a4f73
cmp eax, dword [0x10146470]
ja 0x100a4f73
mov dword [ecx + eax*4], 0x100b7bb0
mov edx, dword [0x10146468]
cmp dword [edx + 0x44], 0
je 0x100a4f4b
or ebx, 0x400000
jmp 0x100a4f51
or ebx, 0x800000
mov ecx, ebx
mov eax, ebx
and ecx, 0xff7fffff
and eax, 0x800000
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x400000
je 0x100a4f73
and ebx, 0xffbfffff
xor eax, eax
cmp byte [0x10146474], al
setne al
add eax, 0x12
test edx, edx
je 0x100a4fda
mov ecx, dword [0x1014646c]
test ecx, ecx
je 0x100a4fda
cmp eax, dword [0x10146470]
ja 0x100a4fda
mov dword [ecx + eax*4], 0x100b7be0
mov edx, dword [0x10146468]
cmp dword [edx + 0x48], 0
je 0x100a4fb2
or ebx, 0x1000000
jmp 0x100a4fb8
or ebx, 0x2000000
mov ecx, ebx
mov eax, ebx
and ecx, 0xfdffffff
and eax, 0x2000000
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x1000000
je 0x100a4fda
and ebx, 0xfeffffff
xor eax, eax
cmp byte [0x10146474], al
setne al
add eax, 0x18
test edx, edx
je 0x100a5041
mov ecx, dword [0x1014646c]
test ecx, ecx
je 0x100a5041
cmp eax, dword [0x10146470]
ja 0x100a5041
mov dword [ecx + eax*4], 0x100b7c80
mov edx, dword [0x10146468]
cmp dword [edx + 0x60], 0
je 0x100a5019
or ebx, 0x4000000
jmp 0x100a501f
or ebx, 0x8000000
mov ecx, ebx
mov eax, ebx
and ecx, 0xf7ffffff
and eax, 0x8000000
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x4000000
je 0x100a5041
and ebx, 0xfbffffff
xor eax, eax
cmp byte [0x10146474], al
setne al
add eax, 0x2c
test edx, edx
je 0x100a50aa
mov ecx, dword [0x1014646c]
test ecx, ecx
je 0x100a50aa
cmp eax, dword [0x10146470]
ja 0x100a50aa
mov dword [ecx + eax*4], 0x100b7d00
mov eax, dword [0x10146468]
cmp dword [eax + 0xb0], 0
je 0x100a5082
or ebx, 0x10000000
jmp 0x100a5088
or ebx, 0x20000000
mov ecx, ebx
mov eax, ebx
and ecx, 0xdfffffff
and eax, 0x20000000
cmove ecx, ebx
mov ebx, ecx
test ebx, 0x10000000
je 0x100a50aa
and ebx, 0xefffffff
mov edi, dword [0x101460fc]
mov dword [0x101464dc], edi
mov eax, dword [edi]
mov dword [0x101464e0], eax
test eax, eax
je 0x100a51d8
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x101464e0]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a50ff
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a50ff
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a50ff
test eax, 0x100
jne 0x100a50ff
inc esi
jmp 0x100a50d0
mov dword [0x101464e8], esi
test esi, esi
je 0x100a51d8
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x101464e4
je 0x100a5169
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101464e4]
mov dword [0x101464e4], ecx
test eax, eax
je 0x100a5169
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xc
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a51a3
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xd
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101464e4]
test esi, esi
je 0x100a51d8
mov eax, dword [0x101464e8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101464e0]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101464ec], 1
mov edx, dword [0x101464e0]
xor ecx, ecx
cmp byte [0x101464ec], cl
mov eax, edx
setne cl
add ecx, 0x43
test edx, edx
je 0x100a522c
mov esi, dword [0x101464e4]
test esi, esi
je 0x100a522c
cmp ecx, dword [0x101464e8]
ja 0x100a522c
mov dword [esi + ecx*4], 0x100b5160
mov eax, dword [0x101464e0]
cmp dword [eax + 0x10c], 0
je 0x100a5221
or ebx, 0x40000000
jmp 0x100a5227
or ebx, 0x80000000
test ebx, ebx
cmovs eax, eax
xor ecx, ecx
cmp byte [0x101464ec], cl
setne cl
add ecx, 0x52
test eax, eax
je 0x100a5256
mov eax, dword [0x101464e4]
test eax, eax
je 0x100a5256
cmp ecx, dword [0x101464e8]
ja 0x100a5256
mov dword [eax + ecx*4], 0x100b51b0
xor eax, eax
cmp byte [0x101464ec], al
setne al
add eax, 0x74
cmp dword [0x101464e0], 0
je 0x100a5286
mov ecx, dword [0x101464e4]
test ecx, ecx
je 0x100a5286
cmp eax, dword [0x101464e8]
ja 0x100a5286
mov dword [ecx + eax*4], 0x100b5270
mov edi, dword [0x1014611c]
mov dword [0x1014652c], edi
mov eax, dword [edi]
mov dword [0x10146530], eax
test eax, eax
je 0x100a53ab
xor esi, esi
mov eax, dword [0x10146530]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a52d2
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a52d2
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a52d2
test eax, 0x100
jne 0x100a52d2
inc esi
jmp 0x100a52a3
mov dword [0x10146538], esi
test esi, esi
je 0x100a53ab
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x10146534
je 0x100a533c
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x10146534]
mov dword [0x10146534], ecx
test eax, eax
je 0x100a533c
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xe
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a5376
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xf
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10146534]
test esi, esi
je 0x100a53ab
mov eax, dword [0x10146538]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10146530]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x1014653c], 1
xor eax, eax
cmp byte [0x1014653c], al
setne al
add eax, 0x15
cmp dword [0x10146530], 0
je 0x100a53db
mov ecx, dword [0x10146534]
test ecx, ecx
je 0x100a53db
cmp eax, dword [0x10146538]
ja 0x100a53db
mov dword [ecx + eax*4], 0x1009efc0
mov edi, dword [0x10146114]
mov dword [0x10146518], edi
mov eax, dword [edi]
mov dword [0x1014651c], eax
test eax, eax
je 0x100a5508
xor esi, esi
nop dword [eax + eax]
mov eax, dword [0x1014651c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a542f
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a542f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a542f
test eax, 0x100
jne 0x100a542f
inc esi
jmp 0x100a5400
mov dword [0x10146524], esi
test esi, esi
je 0x100a5508
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x10146520
je 0x100a5499
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x10146520]
mov dword [0x10146520], ecx
test eax, eax
je 0x100a5499
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x10
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a54d3
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x11
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10146520]
test esi, esi
je 0x100a5508
mov eax, dword [0x10146524]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x1014651c]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x10146528], 1
xor eax, eax
cmp byte [0x10146528], al
setne al
add eax, 9
cmp dword [0x1014651c], 0
je 0x100a5538
mov ecx, dword [0x10146520]
test ecx, ecx
je 0x100a5538
cmp eax, dword [0x10146524]
ja 0x100a5538
mov dword [ecx + eax*4], 0x100be090
mov edi, dword [0x10146170]
mov dword [0x10146540], edi
mov eax, dword [edi]
mov dword [0x10146544], eax
test eax, eax
je 0x100a565d
xor esi, esi
mov eax, dword [0x10146544]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a5584
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a5584
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a5584
test eax, 0x100
jne 0x100a5584
inc esi
jmp 0x100a5555
mov dword [0x1014654c], esi
test esi, esi
je 0x100a565d
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x10146548
je 0x100a55ee
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x10146548]
mov dword [0x10146548], ecx
test eax, eax
je 0x100a55ee
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x12
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a5628
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x13
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10146548]
test esi, esi
je 0x100a565d
mov eax, dword [0x1014654c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10146544]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x10146550], 1
xor eax, eax
cmp byte [0x10146550], al
setne al
add eax, 0x2b
cmp dword [0x10146544], 0
je 0x100a568d
mov ecx, dword [0x10146548]
test ecx, ecx
je 0x100a568d
cmp eax, dword [0x1014654c]
ja 0x100a568d
mov dword [ecx + eax*4], 0x10047260
mov edi, dword [0x10146118]
mov dword [0x10146554], edi
mov eax, dword [edi]
mov dword [0x10146558], eax
test eax, eax
je 0x100a57b8
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x10146558]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a56df
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a56df
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a56df
test eax, 0x100
jne 0x100a56df
inc esi
jmp 0x100a56b0
mov dword [0x10146560], esi
test esi, esi
je 0x100a57b8
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x1014655c
je 0x100a5749
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x1014655c]
mov dword [0x1014655c], ecx
test eax, eax
je 0x100a5749
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x14
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a5783
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x15
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x1014655c]
test esi, esi
je 0x100a57b8
mov eax, dword [0x10146560]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10146558]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x10146564], 1
xor eax, eax
cmp byte [0x10146564], al
setne al
add eax, 4
cmp dword [0x10146558], 0
je 0x100a57e8
mov ecx, dword [0x1014655c]
test ecx, ecx
je 0x100a57e8
cmp eax, dword [0x10146560]
ja 0x100a57e8
mov dword [ecx + eax*4], 0x100bc870
xor eax, eax
cmp byte [0x10146564], al
setne al
add eax, 6
cmp dword [0x10146558], 0
je 0x100a5818
mov ecx, dword [0x1014655c]
test ecx, ecx
je 0x100a5818
cmp eax, dword [0x10146560]
ja 0x100a5818
mov dword [ecx + eax*4], 0x100bc930
xor eax, eax
cmp byte [0x10146564], al
setne al
add eax, 0x27
cmp dword [0x10146558], 0
je 0x100a5848
mov ecx, dword [0x1014655c]
test ecx, ecx
je 0x100a5848
cmp eax, dword [0x10146560]
ja 0x100a5848
mov dword [ecx + eax*4], 0x100bc940
xor eax, eax
cmp byte [0x10146564], al
setne al
add eax, 0x28
cmp dword [0x10146558], 0
je 0x100a5878
mov ecx, dword [0x1014655c]
test ecx, ecx
je 0x100a5878
cmp eax, dword [0x10146560]
ja 0x100a5878
mov dword [ecx + eax*4], 0x100bc980
mov edi, dword [0x10146138]
mov dword [0x10146568], edi
mov eax, dword [edi]
mov dword [0x1014656c], eax
test eax, eax
je 0x100a599d
xor esi, esi
mov eax, dword [0x1014656c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a58c4
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a58c4
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a58c4
test eax, 0x100
jne 0x100a58c4
inc esi
jmp 0x100a5895
mov dword [0x10146574], esi
test esi, esi
je 0x100a599d
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x10146570
je 0x100a592e
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x10146570]
mov dword [0x10146570], ecx
test eax, eax
je 0x100a592e
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x16
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a5968
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x17
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10146570]
test esi, esi
je 0x100a599d
mov eax, dword [0x10146574]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x1014656c]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x10146578], 1
xor eax, eax
cmp byte [0x10146578], al
setne al
add eax, 0xd
cmp dword [0x1014656c], 0
je 0x100a59cd
mov ecx, dword [0x10146570]
test ecx, ecx
je 0x100a59cd
cmp eax, dword [0x10146574]
ja 0x100a59cd
mov dword [ecx + eax*4], 0x10046e30
mov edi, dword [0x10146120]
mov dword [0x1014657c], edi
mov eax, dword [edi]
mov dword [0x10146580], eax
test eax, eax
je 0x100a5af8
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x10146580]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a5a1f
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a5a1f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a5a1f
test eax, 0x100
jne 0x100a5a1f
inc esi
jmp 0x100a59f0
mov dword [0x10146588], esi
test esi, esi
je 0x100a5af8
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x10146584
je 0x100a5a89
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x10146584]
mov dword [0x10146584], ecx
test eax, eax
je 0x100a5a89
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x18
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a5ac3
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x19
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10146584]
test esi, esi
je 0x100a5af8
mov eax, dword [0x10146588]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10146580]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x1014658c], 1
xor eax, eax
cmp byte [0x1014658c], al
setne al
add eax, 0x15
cmp dword [0x10146580], 0
je 0x100a5b28
mov ecx, dword [0x10146584]
test ecx, ecx
je 0x100a5b28
cmp eax, dword [0x10146588]
ja 0x100a5b28
mov dword [ecx + eax*4], 0x10047220
mov edi, dword [0x10146254]
mov dword [0x10146590], edi
mov eax, dword [edi]
mov dword [0x10146594], eax
test eax, eax
je 0x100a5c4d
xor esi, esi
mov eax, dword [0x10146594]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100a5b74
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a5b74
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a5b74
test eax, 0x100
jne 0x100a5b74
inc esi
jmp 0x100a5b45
mov dword [0x1014659c], esi
test esi, esi
je 0x100a5c4d
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x10146598
je 0x100a5bde
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x10146598]
mov dword [0x10146598], ecx
test eax, eax
je 0x100a5bde
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x1a
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a5c18
push method.Element.virtual_0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x1b
push dword [esi]
push 4
push eax
call fcn.100cb100
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10146598]
test esi, esi
je 0x100a5c4d
mov eax, dword [0x1014659c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10146594]
add eax, 0xfffffffc
push eax
push esi
call fcn.100ccad0
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101465a0], 1
xor eax, eax
cmp byte [0x101465a0], al
setne al
add eax, 7
cmp dword [0x10146594], 0
je 0x100a5c7d
mov ecx, dword [0x10146598]
test ecx, ecx
je 0x100a5c7d
cmp eax, dword [0x1014659c]
ja 0x100a5c7d
mov dword [ecx + eax*4], 0x100467c0
xor eax, eax
cmp byte [0x1014649c], al
setne al
add eax, 0x24
cmp dword [0x10146490], 0
je 0x100a5cad
mov ecx, dword [0x10146494]
test ecx, ecx
je 0x100a5cad
cmp eax, dword [0x10146498]
ja 0x100a5cad
mov dword [ecx + eax*4], 0x10031870
push 0x1011fab8
call dword [0x10146264]
mov esi, dword [0x101461c8]
mov dword [0x10146ab8], esi
mov eax, dword [esi]
mov dword [0x10146abc], eax
test eax, eax
je 0x100a5de3
xor edi, edi
mov eax, dword [0x10146abc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100a5d04
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a5d04
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a5d04
test eax, 0x100
jne 0x100a5d04
inc edi
jmp 0x100a5cd5
mov dword [0x10146ac4], edi
test edi, edi
je 0x100a5ddd
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x10146ac0
je 0x100a5d6e
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x10146ac0]
mov dword [0x10146ac0], ecx
test eax, eax
je 0x100a5d6e
push method.Element.virtual_0
lea edi, [eax - 4]
mov dword [ebp - 4], 0x1c
push dword [edi]
push 4
push eax
call fcn.100cb100
mov eax, dword [edi]
lea eax, [eax*4 + 4]
push eax
push edi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a5da8
push method.Element.virtual_0
lea edi, [eax - 4]
mov dword [ebp - 4], 0x1d
push dword [edi]
push 4
push eax
call fcn.100cb100
mov eax, dword [edi]
lea eax, [eax*4 + 4]
push eax
push edi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edi, dword [0x10146ac0]
test edi, edi
je 0x100a5ddd
mov eax, dword [0x10146ac4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10146abc]
add eax, 0xfffffffc
push eax
push edi
call fcn.100ccad0
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10146ac8], 1
mov esi, dword [0x101461c8]
xor eax, eax
cmp byte [0x10146ac8], al
setne al
add eax, 0xd
cmp dword [0x10146abc], 0
je 0x100a5e19
mov ecx, dword [0x10146ac0]
test ecx, ecx
je 0x100a5e19
cmp eax, dword [0x10146ac4]
ja 0x100a5e19
mov dword [ecx + eax*4], 0x1009ec00
mov esi, dword [0x101461c8]
mov dword [0x101465a4], esi
mov eax, dword [esi]
mov dword [0x101465a8], eax
test eax, eax
je 0x100a5f38
xor edi, edi
mov eax, dword [0x101465a8]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100a5e5f
mov eax, dword [0x10145fa0]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100a5e5f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100a5e5f
test eax, 0x100
jne 0x100a5e5f
inc edi
jmp 0x100a5e30
mov dword [0x101465b0], edi
test edi, edi
je 0x100a5f38
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.100305f0
cmp eax, 0x101465ac
je 0x100a5ec9
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101465ac]
mov dword [0x101465ac], ecx
test eax, eax
je 0x100a5ec9
push method.Element.virtual_0
lea edi, [eax - 4]
mov dword [ebp - 4], 0x1e
push dword [edi]
push 4
push eax
call fcn.100cb100
mov eax, dword [edi]
lea eax, [eax*4 + 4]
push eax
push edi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100a5f03
push method.Element.virtual_0
lea edi, [eax - 4]
mov dword [ebp - 4], 0x1f
push dword [edi]
push 4
push eax
call fcn.100cb100
mov eax, dword [edi]
lea eax, [eax*4 + 4]
push eax
push edi
call fcn.100cb0c2
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edi, dword [0x101465ac]
test edi, edi
je 0x100a5f38
mov eax, dword [0x101465b0]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101465a8]
add eax, 0xfffffffc
push eax
push edi
call fcn.100ccad0
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101465b4], 1
xor eax, eax
cmp byte [0x101465b4], al
setne al
add eax, 0xd
cmp dword [0x101465a8], 0
je 0x100a5f68
mov ecx, dword [0x101465ac]
test ecx, ecx
je 0x100a5f68
cmp eax, dword [0x101465b0]
ja 0x100a5f68
mov dword [ecx + eax*4], 0x1009ed90
lea eax, [ebp - 0x14]
mov dword [ebp - 0x18], 0xf3c2c786
push eax
mov ecx, 0x1014b258
mov dword [ebp - 0x14], 0x72e242a1
call fcn.1003c990
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.1003c970
movq xmm0, qword [eax]
movq qword [ebp - 0x48], xmm0
cmp byte [ebp - 0x48], 0
jne 0x100a5fb0
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x20]
mov dword [0x10146ae8], eax
mov dword [ecx + 0x20], 0x100a3f90
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x9ef0d03e
push eax
mov ecx, 0x1014b258
mov dword [ebp - 0x18], 0x72e242a1
call fcn.1003c990
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.1003c970
movq xmm0, qword [eax]
movq qword [ebp - 0x48], xmm0
cmp byte [ebp - 0x48], 0
jne 0x100a5ff8
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x20]
mov dword [0x10146aec], eax
mov dword [ecx + 0x20], 0x100a3ff0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x566bd764
push eax
mov ecx, 0x1014b258
mov dword [ebp - 0x18], 0x2aafa737
call fcn.1003c990
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.1003c970
movq xmm0, qword [eax]
movq qword [ebp - 0x48], xmm0
cmp byte [ebp - 0x48], 0
jne 0x100a6040
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x20]
mov dword [0x10146af0], eax
mov dword [edx + 0x20], 0x100a41f0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x3c], 0x781aa1a4
push eax
mov ecx, 0x1014b258
mov dword [ebp - 0x38], 0x2aafa737
call fcn.1003c990
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call fcn.1003c970
movq xmm0, qword [eax]
movq qword [ebp - 0x48], xmm0
cmp byte [ebp - 0x48], 0
jne 0x100a6088
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x20]
mov dword [0x10146af4], eax
mov dword [ecx + 0x20], 0x100a41d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100cb0af
mov esp, ebp
pop ebp
ret