Function at 0x10023518
Capabilities:
Check for software breakpoints

Disassembly:
push 0x98
mov eax, 0x103129ac
call fcn.1027911b
mov edi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x94]
xor eax, eax
mov dword [ebp - 0x98], ebx
inc eax
mov dword [ebp - 0x94], ebx
push ebx
push ebx
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x7d], al
mov dword [ebp - 0x90], ebx
call fcn.100138ac
mov esi, eax
mov dword [ebp - 0x94], esi
mov dword [ebp - 4], ebx
cmp byte [edi + 0x2f8], bl
je 0x1002358d
mov eax, dword [edi + 4]
mov eax, dword [eax + 0xa4]
cmp eax, 0x110d
je 0x1002358d
cmp eax, 0x111c
je 0x1002358d
cmp eax, 0x1110
je 0x1002358d
mov byte [edi + 0x2f8], bl
cmp dword [edi + 0x188], ebx
je 0x100235ca
mov ecx, dword [edi + 4]
add ecx, 0x5a0
call fcn.1001033d
cmp dword [eax + 0x10], ebx
sete al
test al, al
jne 0x100235ca
lea eax, [edi + 0x10]
push eax
push ebx
push ebx
push 0xbe
push 0xc1c
push dword [edi + 4]
call fcn.10020069
jmp 0x10023d7e
mov eax, dword [edi + 0x188]
test eax, eax
jne 0x10023da0
mov eax, dword [edi + 4]
mov cl, byte [eax + 0x164]
mov byte [ebp - 0x89], cl
lea ecx, [eax + 0x60]
call fcn.100f8c9f
sub eax, 1
je 0x1002360c
sub eax, 1
je 0x10023605
sub eax, 1
jne 0x1002363b
call fcn.1014806c
jmp 0x10023611
call fcn.10148339
jmp 0x10023611
call fcn.1014800b
test al, al
jne 0x1002363b
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xdad
push eax
push esi
lea ecx, [ebp - 0x94]
call fcn.10130dcd
mov esi, dword [ebp - 0x94]
mov byte [ebp - 0x7d], bl
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
xor eax, eax
lea edx, [ebp - 0xa4]
inc eax
lea ecx, [edi + 8]
mov byte [ebp - 4], al
mov eax, dword [edi + 4]
push edx
push dword [eax + 0x90]
call fcn.1013af1a
mov ecx, eax
call fcn.10149397
test al, al
jne 0x10023791
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
mov ecx, dword [edi + 4]
lea eax, [ebp - 0x88]
push eax
call fcn.1000f52f
xor ecx, ecx
mov byte [ebp - 4], 3
inc ecx
push ecx
push 0xdae
lea ecx, [ebp - 0x44]
push ecx
mov ecx, eax
call fcn.1013af1a
mov ecx, eax
call fcn.1012cb9e
push eax
lea ecx, [ebp - 0x28]
call fcn.10006b39
xor eax, eax
lea ecx, [ebp - 0x44]
push ebx
inc eax
push eax
call fcn.10007cb3
mov ecx, dword [ebp - 0x88]
mov byte [ebp - 4], 4
test ecx, ecx
je 0x100236e1
call fcn.1000dbec
mov esi, 0x103355d0
mov byte [ebp - 4], 2
push esi
call fcn.100082d6
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.10007e0e
mov esi, dword [ebp - 0xa4]
jmp 0x1002372b
push 0x1033557c
call fcn.100082d6
pop ecx
push eax
push 0x1033557c
lea ecx, [ebp - 0x28]
call fcn.10007e0e
push 0xffffffffffffffff
push ebx
push esi
lea ecx, [ebp - 0x28]
call fcn.10007d05
add esi, 0x18
cmp esi, dword [ebp - 0xa0]
jne 0x10023703
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], 0x93
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 5
push eax
push ebx
push ebx
lea eax, [ebp - 0x28]
push eax
push 0xc1c
push dword [edi + 4]
call fcn.1001ff9d
mov ecx, dword [ebp - 0x88]
mov byte [ebp - 4], 6
test ecx, ecx
je 0x10023774
call fcn.1000dbec
xor eax, eax
lea ecx, [ebp - 0x28]
push ebx
inc eax
push eax
call fcn.10007cb3
lea ecx, [ebp - 0xa4]
call fcn.1000f4f3
jmp 0x10023d7e
mov ecx, edi
call fcn.1002420b
test al, al
je 0x100237f2
mov edx, dword [edi + 4]
mov cl, bl
mov eax, dword [edx + 0xf4]
cmp eax, dword [edx + 0xf8]
je 0x100237cc
cmp dword [eax + 0x1c], 1
movzx ecx, cl
cmove ecx, dword [ebp - 0x98]
add eax, 0x3c
cmp eax, dword [edx + 0xf8]
jne 0x100237af
test cl, cl
jne 0x100237f2
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xbbe
push eax
push esi
lea ecx, [ebp - 0x94]
call fcn.10130dcd
mov esi, dword [ebp - 0x94]
mov byte [ebp - 0x7d], bl
cmp byte [ebp - 0x89], 0
je 0x10023957
mov eax, dword [edi + 4]
lea ecx, [edi + 8]
mov eax, dword [eax + 0xa4]
cmp eax, 0x55
jne 0x10023833
call fcn.1013af1a
mov ecx, eax
call fcn.10149079
test al, al
jne 0x10023957
mov dword [ebp - 0x84], 0xdba
jmp 0x1002393b
cmp eax, 0xb5
jne 0x1002385d
call fcn.1013af1a
mov ecx, eax
call fcn.10148d21
test al, al
jne 0x10023957
mov dword [ebp - 0x84], 0xdbb
jmp 0x1002393b
cmp eax, 0x32
jne 0x10023885
call fcn.1013af1a
mov ecx, eax
call fcn.101482e9
test al, al
jne 0x10023957
mov dword [ebp - 0x84], 0xdbc
jmp 0x1002393b
cmp eax, 0xcc
jne 0x100238e7
call fcn.1013af1a
mov ecx, eax
call fcn.10149079
test al, al
jne 0x10023957
lea ecx, [edi + 8]
call fcn.1013af1a
mov ecx, eax
call fcn.10148d21
test al, al
jne 0x10023957
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0x10
push eax
lea ecx, [edi + 8]
call fcn.1013af1a
mov ecx, eax
call fcn.1014844c
test al, al
jne 0x10023957
mov dword [ebp - 0x84], 0xdc1
jmp 0x1002393b
cmp eax, 0x1157
jne 0x10023910
call fcn.1013af1a
push ebx
push 0x10
push 0x1152
call fcn.10148c49
test al, al
jne 0x10023957
mov dword [ebp - 0x84], 0xdc3
jmp 0x1002393b
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0x10
push eax
call fcn.1013af1a
mov ecx, eax
call fcn.1014844c
test al, al
jne 0x10023957
mov dword [ebp - 0x84], 0xdb8
lea eax, [ebp - 0x84]
push eax
push esi
lea ecx, [ebp - 0x94]
call fcn.10130dcd
mov esi, dword [ebp - 0x94]
mov byte [ebp - 0x7d], bl
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 0xa4]
sub eax, 0x1a
je 0x10023c31
sub eax, 0x20
je 0x10023c0a
sub eax, 0x19
je 0x10023be3
sub eax, 0x56
je 0x10023bca
sub eax, 0x10a9
jne 0x10023c60
push str.4.5.50501
lea ecx, [ebp - 0x44]
call fcn.10006939
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 7
call fcn.10022503
push ebx
push 2
push eax
mov byte [ebp - 4], 8
call fcn.10147b97
mov bl, al
mov dword [ebp - 0x2c], vtable.RefCounted.0
neg bl
lea ecx, [ebp - 0x44]
push 0
sbb bl, bl
xor eax, eax
inc eax
push eax
mov byte [ebp - 4], al
call fcn.10007cb3
add bl, 1
je 0x10023a03
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xbc2
push eax
push esi
lea ecx, [ebp - 0x94]
call fcn.10130dcd
mov esi, dword [ebp - 0x94]
xor ebx, ebx
mov byte [ebp - 0x7d], bl
jmp 0x10023a05
xor ebx, ebx
push 0x10339fb0
lea ecx, [ebp - 0x28]
call fcn.10006939
xor ecx, ecx
mov byte [ebp - 4], 9
inc ecx
mov dword [ebp - 0x98], ecx
lea ecx, [ebp - 0x60]
push eax
call fcn.10022503
push 3
pop ecx
push eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x98], ecx
call fcn.10147cce
test al, al
je 0x10023a9a
push str.4.0.30319
lea ecx, [ebp - 0x44]
call fcn.10006939
push eax
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x98], 7
call fcn.10022503
push 0xf
pop ecx
push eax
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x98], ecx
call fcn.101477e6
test al, al
je 0x10023a9a
xor ecx, ecx
mov byte [ebp - 0x89], bl
inc ecx
jmp 0x10023aa3
xor ecx, ecx
inc ecx
mov byte [ebp - 0x89], cl
mov eax, dword [ebp - 0x84]
test al, 8
je 0x10023ab7
and eax, 0xfffffff7
mov dword [ebp - 0x7c], vtable.RefCounted.0
test al, 4
je 0x10023ad4
push ebx
and eax, 0xfffffffb
push ecx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x84], eax
call fcn.10007cb3
mov eax, dword [ebp - 0x84]
test al, 2
je 0x10023ae2
and eax, 0xfffffffd
mov dword [ebp - 0x60], vtable.RefCounted.0
xor ecx, ecx
inc ecx
mov dword [ebp - 4], ecx
test cl, al
je 0x10023af6
push ebx
push ecx
lea ecx, [ebp - 0x28]
call fcn.10007cb3
cmp byte [ebp - 0x89], 0
je 0x10023b25
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xbc3
push eax
push esi
lea ecx, [ebp - 0x94]
call fcn.10130dcd
mov esi, dword [ebp - 0x94]
mov byte [ebp - 0x7d], bl
push 0x10339fcc
lea ecx, [ebp - 0x44]
call fcn.10006939
push eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xd
call fcn.10022503
push eax
mov byte [ebp - 4], 0xe
call fcn.10148af3
mov bl, al
mov dword [ebp - 0x60], vtable.RefCounted.0
neg bl
lea ecx, [ebp - 0x44]
push 0
sbb bl, bl
xor eax, eax
inc eax
push eax
mov byte [ebp - 4], al
call fcn.10007cb3
add bl, 1
je 0x10023b96
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xbc4
push eax
push esi
lea ecx, [ebp - 0x94]
call fcn.10130dcd
mov esi, dword [ebp - 0x94]
xor ebx, ebx
mov byte [ebp - 0x7d], bl
jmp 0x10023b98
xor ebx, ebx
push ebx
push 0xffffffffffffffff
push 0x1110
call fcn.10148c49
test al, al
jne 0x10023bbe
push ebx
push 0xffffffffffffffff
push 0x110d
call fcn.10148c49
test al, al
je 0x10023c60
mov dword [ebp - 0x84], 0xdc2
jmp 0x10023c44
call fcn.1014839a
test al, al
je 0x10023c60
mov dword [ebp - 0x84], 0xdbd
jmp 0x10023c44
push dword [ecx + 0x98]
lea ecx, [edi + 8]
push 0x51
call fcn.1013af1a
mov ecx, eax
call fcn.1014934d
test al, al
jne 0x10023c60
mov dword [ebp - 0x84], 0xdb1
jmp 0x10023c44
push dword [ecx + 0x98]
lea ecx, [edi + 8]
push 0x3b
call fcn.1013af1a
mov ecx, eax
call fcn.1014934d
test al, al
jne 0x10023c60
mov dword [ebp - 0x84], 0xdb0
jmp 0x10023c44
call fcn.101489af
test al, al
jne 0x10023c60
mov dword [ebp - 0x84], 0xdaf
lea eax, [ebp - 0x84]
push eax
push esi
lea ecx, [ebp - 0x94]
call fcn.10130dcd
mov esi, dword [ebp - 0x94]
mov byte [ebp - 0x7d], bl
lea ecx, [ebp - 0x89]
call fcn.100243c6
lea ecx, [ebp - 0x89]
call fcn.100243c6
cmp eax, 2
jne 0x10023ca1
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xdc4
push eax
push esi
lea ecx, [ebp - 0x94]
call fcn.10130dcd
mov esi, dword [ebp - 0x94]
mov byte [ebp - 0x7d], bl
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], bl
call fcn.1000f4f3
cmp dword [ebp - 0x90], 0
sete al
test al, al
jne 0x10023d7b
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
mov eax, dword [edi + 4]
mov byte [ebp - 4], 0x11
mov eax, dword [eax + 0xa4]
cmp eax, 0x110d
je 0x10023d6e
cmp eax, 0x110f
je 0x10023d6e
cmp eax, 0x111c
je 0x10023d6e
cmp eax, 0x1110
je 0x10023d6e
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xc1d
push eax
push dword [esi]
lea ecx, [ebp - 0x94]
call fcn.10130dcd
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xc1e
push eax
push dword [ebp - 0x94]
lea ecx, [ebp - 0x94]
call fcn.10130dcd
lea eax, [edi + 0x54]
push eax
lea eax, [ebp - 0x28]
push eax
xor eax, eax
inc eax
push eax
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.10023ed9
lea eax, [edi + 0x10]
push eax
push ebx
push ebx
lea eax, [ebp - 0x28]
push eax
push 0xc1c
push dword [edi + 4]
call fcn.1001ff9d
xor eax, eax
lea ecx, [ebp - 0x28]
push ebx
inc eax
push eax
call fcn.10007cb3
mov bl, byte [ebp - 0x7d]
lea ecx, [ebp - 0x94]
call fcn.100242de
xor eax, eax
inc eax
push eax
push dword [ebp - 0x94]
call fcn.1014c1e8
mov al, bl
call fcn.102790cd
ret
cmp eax, 2
jne 0x10023caf
mov eax, dword [edi + 4]
cmp dword [eax + 0x2a4], 0
jne 0x10023dc7
push 0x220
call fcn.10133ea8
test al, al
jne 0x10023caf
mov eax, dword [edi + 4]
xor ecx, ecx
inc ecx
cmp dword [eax + 0x2a4], ecx
je 0x10023caf
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], 0x93
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xf
push ecx
push ebx
push ebx
push 0xbb9
push 0xc1c
push eax
call fcn.10020069
mov ecx, dword [ebp - 0x88]
mov byte [ebp - 4], 0x10
test ecx, ecx
je 0x10023d7e
call fcn.1000dbec
jmp 0x10023d7e