Function at 0x10023a23
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
lea edx, [eax + 0x7f2]
push esi
mov ecx, eax
push edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], edx
cmp eax, edx
ja case.0x1002363e.7599
cmp ecx, 0x32f5
ja 0x10023a73
je 0x10023a5c
lea eax, [ecx - 0x1cc5]
cmp eax, 0xea
ja case.0x1002363e.7366
movzx eax, byte [eax + 0x10023d54]
jmp dword [eax*4 + 0x10023d18]
xlatb
xor eax, esp
cmp al, 0x48
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x10], 0
jne 0x10023669
lea ecx, [esp + 0x3c]
push 0x1005e2d4
push ecx
call fcn.100327e0
add esp, 8
mov dword [esi + 0x10], eax
cmp dword [esi + 0x14], 0
jne case.0x1002363e.7366
lea edx, [esp + 0x3c]
push 0x1005e2d4
push edx
call fcn.100327e0
add esp, 8
mov dword [esi + 0x14], eax
jmp case.0x1002363e.7366
lea eax, [esp + 0x3c]
call fcn.10008ea0
jmp case.0x1002363e.7366
lea ebx, [esp + 0x3c]
call fcn.1002b7e0
jmp case.0x1002363e.7366
or eax, 0xc6c9a4b6
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
jmp case.0x1002363e.7366
test dword [eax + edx*8], ebp
mov eax, 0x2444c657
verw cx
sbb eax, dword [esi]
add byte [eax], al
cmpsb byte [esi], byte es:[edi]
test al, 0x67
je 0x100236be
nop
mov edi, 0x43bc
lea eax, [edi - 0x43bc]
cmp eax, 0x8c
ja case.0x100236ed.17341
movzx ecx, byte [eax + 0x10023e64]
mov dh, 0x88
add dl, byte ds:[eax]
jmp dword [ecx*4 + 0x10023e40]
pop esi
jmp 0xf9314383
lea esi, [esp + 0x4c]
lea ecx, [esp + 0x3c]
call fcn.1000ceb0
test al, al
je 0x10023720
cmp byte [esp + 0xf], 0
jne 0x10023720
mov byte [esp + 0xf], 0
jmp case.0x100236ed.17341
mov byte [esp + 0xf], 1
jmp case.0x100236ed.17341
ja 0x100236e7
sub ah, byte [edx]
push edx
inc dword [esp + 0x24]
jmp case.0x100236ed.17341
dec edx
sub byte [eax + 0x1b83341], 0
add byte [eax], al
cmp dword [esp + 0x4c], eax
jne 0x10023751
cmp byte [esp + 0x74], 0
je 0x10023751
xor eax, eax
mov edx, dword [esp + 0x14]
mov byte [edx + 0x35], al
jmp case.0x100236ed.17341
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x35], 0
jne case.0x100236ed.17341
mov esi, 0x1935
mov eax, esi
sub eax, 0x1935
je 0x1002378e
sub eax, 0x35
jne 0x1002379f
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1002379f
mov dword [eax], 0x29
jmp 0x1002379f
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x3c]
call fcn.10030df0
mov dword [esp + 0x30], eax
add esi, 0x35
cmp esi, 0x196a
jbe 0x10023770
jmp case.0x100236ed.17341
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x18]
push ecx
push edx
call fcn.1003db30
lea ecx, [esp + 0x5c]
add esp, 0x10
mov dword [eax + 0x5c], ecx
jmp case.0x100236ed.17341
mov eax, dword [esp + 0x14]
xor ebx, ebx
cmp byte [eax + 0x34], bl
je 0x100237f4
mov byte [eax + 0x34], bl
mov dword [esp + 0x10], str.25_
jmp case.0x100236ed.17341
mov esi, 0x24fd
mov eax, esi
sub eax, 0x24fd
je 0x1002385e
sub eax, 0x1c
je 0x10023835
sub eax, 0x1c
jne 0x1002386f
pop es
nop
ret
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x10023850
cmp dword [eax + 0x20], ebx
je 0x10023850
mov al, 1
push eax
lea eax, [esp + 0x40]
call fcn.10008f10
jmp 0x1002386c
xor al, al
push eax
lea eax, [esp + 0x40]
call fcn.10008f10
jmp 0x1002386c
lea edx, [esp + 0x3c]
push edx
call fcn.10024f50
mov dword [esp + 0x38], eax
add esp, 4
add esi, 0x1c
cmp esi, 0x2535
jbe 0x100237f9
mov dword [esp + 0x10], str.25_
jmp case.0x100236ed.17341
mov eax, dword [esp + 0x4c]
cmp eax, 3
ja case.default.0x10023898
jmp dword [eax*4 + 0x10023ef4]
mov eax, 0x6bf2
cmp eax, eax
je 0x100238cb
add eax, 0x30
cmp eax, 0x6bf2
jbe 0x100238a6
mov esi, 0x2526
mov eax, esi
sub eax, 0x2526
je 0x100238d8
sub eax, 8
je case.default.0x10023898
jmp 0x100238e9
mov dword [esp + 0x10], str.Betting
jmp case.default.0x10023898
mov eax, dword [esp + 0x64]
push eax
call fcn.1003b040
add esp, 4
mov dword [esp + 0x10], eax
add esi, 8
cmp esi, 0x252e
jbe 0x100238b7
mov esi, 0x27c0
lea esp, [esp]
mov eax, esi
sub eax, 0x27c0
je 0x10023915
sub eax, 0x29
jne 0x10023926
xchg esi, eax
mov ecx, 0xebc57c78
xor al, 0x8b
dec esp
and al, 0x64
mov ecx, dword [esp + 0x64]
push ecx
call fcn.1003b040
add esp, 4
mov dword [esp + 0x10], eax
add esi, 0x29
cmp esi, 0x27e9
jbe 0x10023900
mov ecx, 0x25bd
mov eax, ecx
sub eax, 0x25bd
je 0x1002398f
sub eax, 0xd
jne 0x10023997
mov dword [0xeff5bfe0], eax
mov edi, 0x43d0
add edi, 0x14
cmp edi, 0x4448
jbe 0x100236d5
cmp dword [esp + 0x4c], 7
jne 0x10023972
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x34], 0
je case.0x1002363e.7366
mov eax, dword [ebp + 8]
cmp byte [eax + 0x10], 0
je 0x100236d0
cmp byte [esp + 0xf], 0
je 0x100236d0
jmp case.0x1002363e.7366
mov dword [esp + 0x10], str.Toronto
add ecx, 0xd
cmp ecx, 0x25ca
jbe 0x10023936
jmp case.default.0x10023898
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push ecx
push eax
call fcn.1003db30
add esp, 8
mov dword [esp + 0x24], 0
jmp case.0x1002363e.7366
je 0x10023957
cmp al, 0x5a
imul ecx, dword [ebp - 0x17c3db84], 0xfffffb5f
mov eax, edi
call fcn.100225d0
jmp case.0x1002363e.7366
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x18], 0
jne case.0x1002363e.7366
lea edx, [esp + 0x3c]
push 0x1005e2d4
push edx
call fcn.100327e0
mov ecx, dword [esp + 0x24]
add esp, 8
mov dword [ecx + 0x18], eax
jmp case.0x1002363e.7366
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
mov eax, dword [ebp + 0x14]
lea ecx, [esp + 0x40]
call fcn.1001ef80
add esp, 4
jmp case.0x1002363e.7366
or edx, dword [edi + 0x5d]
wait
push es
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
add eax, 0x10
mov dword [esp + 0x1c], eax
jmp case.0x1002363e.7366
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
jmp case.0x1002363e.7366
mov eax, dword [ebp + 8]
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], eax
call fcn.1002b7c0
jmp case.0x1002363e.7366
rol byte gs:[ebp + 0x4d8ba2de], cl
or byte [ebx - 0x3f7cf7bf], cl
je 0x100239f4
inc esp
and al, 0x28
jmp case.0x1002363e.7366
mov eax, ecx
sub eax, 0x3307
je 0x10023cc2
sub eax, 0x12
je 0x10023cb3
sub eax, 0x13fe
jne case.0x1002363e.7366
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
inc eax
cmp eax, 0x3f
ja case.0x10023aaa.0
movzx eax, byte [eax + 0x10023f14]
jmp dword [eax*4 + 0x10023f04]
mov eax, 0x3ba
cmp eax, eax
je 0x10023ba4
add eax, 0x41
cmp eax, 0x3ba
jbe 0x10023ab8
mov esi, 0xd50
lea ecx, [ecx]
mov eax, esi
sub eax, 0xd50
je 0x10023b06
sub eax, 0x4c
je 0x10023af4
sub eax, 0x4c
jne 0x10023b13
insd dword es:[edi], dx
xchg ebx, eax
cmp byte [edi + ebp*8], bh
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc ecx
scasb al, byte es:[edi]
xlatb
aaa
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.10031800
jmp 0x10023b13
mov eax, dword [ebp + 8]
push 0
call fcn.1002b7a0
add esp, 4
add esi, 0x4c
cmp esi, 0xde8
jbe 0x10023ad0
xor ebx, ebx
xor esi, esi
cmp esi, 0xcc
ja case.0x10023b31.1
movzx ecx, byte [esi + 0x10023f68]
jmp dword [ecx*4 + 0x10023f54]
mov dword [esp + 0x18], ebx
jmp case.0x10023b31.1
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov byte [edx + 0x80], 1
call fcn.10031800
jmp case.0x10023b31.1
mov ecx, 0xf2a99d0d
mov edi, dword [ebp + 8]
push 0x22
push edi
call fcn.1003afd0
push ebx
mov eax, edi
call fcn.1002b7a0
add esp, 0xc
add esi, 0x44
lea eax, [esi + 0xaf8]
cmp eax, 0xbc4
jbe 0x10023b22
mov dword [esp + 0x20], 0x34aa
jmp 0x10023b90
mov eax, dword [esp + 0x20]
sub eax, 0x34aa
je 0x10023bb0
sub eax, 0x62
jne 0x10023c9b
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sbb eax, 0x8b967d26
jge 0x10023bcc
push 0
lea ebx, [edi + 0x84]
push 6
mov edx, str.Prints
call fcn.1000c270
add esp, 8
test al, al
je 0x10023c11
mov esi, 0x695b
jmp 0x10023be0
mov eax, esi
sub eax, 0x695b
je 0x10023bf4
sub eax, 0x60
jne 0x10023c01
mov byte [edi + 4], 1
jmp 0x10023c01
mov eax, dword [ebp + 8]
push 0x37
call fcn.1002b7a0
add esp, 4
add esi, 0x60
cmp esi, 0x69bb
jbe 0x10023be0
jmp 0x10023c9b
push 0
push 6
mov edx, str.Palast
call fcn.1000c270
add esp, 8
test al, al
je 0x10023c4d
mov esi, 0x31d7
cmp esi, esi
jne 0x10023c40
mov eax, dword [ebp + 8]
push 0x3d
call fcn.1002b7a0
add esp, 4
mov byte [edi + 4], 1
add esi, 0x5d
cmp esi, 0x31d7
jbe 0x10023c2d
jmp 0x10023c9b
mov esi, 0x16d4
mov eax, esi
sub eax, 0x16d4
je 0x10023c7d
sub eax, 0x28
je 0x10023c6e
sub eax, 0x28
jne 0x10023c90
mov byte [edi + 0x80], 1
jmp 0x10023c90
mov eax, dword [ebp + 8]
push 0x42
call fcn.1002b7a0
add esp, 4
jmp 0x10023c90
push eax
ljmp 0x84d
add esi, 0x28
cmp esi, 0x1724
pop ss
add byte [eax], al
jbe 0x10023c52
mov eax, dword [esp + 0x20]
add eax, 0x62
mov dword [esp + 0x20], eax
cmp eax, 0x350c
jbe 0x10023b90
jmp case.0x1002363e.7366
aaa
dec esi
mov cl, byte [ebx + esi*2 + 0x2824548b]
mov byte [edx + 0xe], 1
jmp case.0x1002363e.7366
and byte [ebx], cl
adc eax, 0x748b62f8
and al, 0x28
mov eax, dword [esi + 8]
mov edi, dword [ebp + 8]
add esi, 8
push eax
push edi
call fcn.1003ade0
push esi
push edi
call fcn.1001d360
add esp, 0x10
mov ecx, dword [esp + 0x2c]
add ecx, 0x12
mov dword [esp + 0x2c], ecx
cmp ecx, dword [esp + 0x38]
jbe 0x10023614
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop esp
push ds
push ss
lahf
jb 0x10023c96
invalid
mov eax, dword [esp + 0x18]
inc esp
and al, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret