Function at 0x1006403e
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10082ada
mov eax, dword fs:[0]
push eax
sub esp, 0x4f8
push ebx
push esi
push edi
lea edi, [ebp - 0x384]
mov ecx, 0xde
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x100981c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x4fc], 0
mov ecx, 0x100aa206
call fcn.1002c144
nop
mov ecx, dword [ebp + 8]
call fcn.1002bf6e
mov dword [ebp - 0x504], eax
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x4fc]
or eax, 1
mov dword [ebp - 0x4fc], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x14c], ecx
movzx eax, byte [0x10098888]
test eax, eax
jne 0x10063e81
push 0x10
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x138
push ecx
call fcn.1002c04f
add esp, 0xc
jmp 0x10063eae
mov esi, esp
lea eax, [ebp - 0x180]
push eax
push 0x10
mov ecx, dword [ebp + 8]
add ecx, 0x138
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [0x1009888c]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp esi, esp
call fcn.1002bc3a
nop
mov eax, dword [ebp + 8]
add eax, 0x138
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1a4], 0x10098890
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1a4]
add eax, 0xbaac
mov dword [ebp - 0x1bc], eax
jmp 0x10063f00
mov eax, dword [ebp - 0x1b0]
add eax, 0x34
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1bc]
je 0x10065970
mov eax, dword [ebp - 0x1b0]
push eax
lea ecx, [ebp - 0x1f8]
call fcn.1002bcb7
mov dword [ebp - 4], 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x134], 0
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x18c], eax
push 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x4b4], esp
lea eax, [ebp - 0x1f8]
push eax
call fcn.1002baeb
call fcn.1002c36a
add esp, 0x20
mov byte [ebp - 0x501], al
mov cl, byte [ebp - 0x501]
mov byte [ebp - 0x201], cl
mov byte [ebp - 0x20d], 0
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
mov dword [ebp - 0x504], ecx
mov edx, dword [ebp - 0x504]
sub edx, 0x26
mov dword [ebp - 0x504], edx
cmp dword [ebp - 0x504], 0xcd
ja case.0x10063fb9.1
mov eax, dword [ebp - 0x504]
movzx ecx, byte [eax + 0x10065b24]
jmp dword [ecx*4 + 0x10065af4]
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x134]
or edx, 0x20
mov eax, dword [ebp + 8]
mov dword [eax + 0x134], edx
jmp case.0x10063fb9.1
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x134]
or edx, 0x40
mov eax, dword [ebp + 8]
mov dword [eax + 0x134], edx
jmp case.0x10063fb9.1
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x134]
or edx, 0x80
mov eax, dword [ebp + 8]
mov dword [eax + 0x134], edx
jmp case.0x10063fb9.1
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x134]
or edx, 0x100
mov eax, dword [ebp + 8]
mov dword [eax + 0x134], edx
jmp case.0x10063fb9.1
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x134]
or edx, 0x200
mov eax, dword [ebp + 8]
mov dword [eax + 0x134], edx
jmp case.0x10063fb9.1
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x134]
or edx, 0x400
mov eax, dword [ebp + 8]
mov dword [eax + 0x134], edx
jmp case.0x10063fb9.1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
or ecx, 4
mov edx, dword [ebp + 8]
mov dword [edx + 0x134], ecx
jmp case.0x10063fb9.1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
or ecx, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x134], ecx
jmp case.0x10063fb9.1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
or ecx, 0x10
mov edx, dword [ebp + 8]
mov dword [edx + 0x134], ecx
movzx eax, byte [ebp - 0x201]
cmp eax, 0xf0
je 0x10064120
mov byte [ebp - 0x20d], 1
jmp case.0x10063fb9.1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
or ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x134], ecx
movzx eax, byte [ebp - 0x201]
cmp eax, 0xf2
je 0x1006414c
mov byte [ebp - 0x20d], 1
jmp case.0x10063fb9.1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
or ecx, 2
mov edx, dword [ebp + 8]
mov dword [edx + 0x134], ecx
movzx eax, byte [ebp - 0x201]
cmp eax, 0xf3
je case.0x10063fb9.1
mov byte [ebp - 0x20d], 1
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x201]
cmp ecx, edx
jne 0x10064195
mov byte [ebp - 0x501], 1
jmp 0x1006419c
mov byte [ebp - 0x501], 0
mov al, byte [ebp - 0x501]
mov byte [ebp - 0x219], al
mov byte [ebp - 0x225], 0
mov dword [ebp - 0x234], 2
jmp 0x100641ca
mov eax, dword [ebp - 0x234]
add eax, 3
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0xb
jge 0x10064486
lea ecx, [ebp - 0x1f8]
call fcn.1002c469
cmp eax, dword [ebp - 0x234]
jbe 0x1006447f
mov eax, dword [ebp - 0x234]
push eax
lea ecx, [ebp - 0x1f8]
call fcn.1002b235
movsx ecx, byte [eax]
cmp ecx, 0x2b
jne 0x1006447d
mov eax, dword [ebp - 0x234]
add eax, 1
push eax
lea ecx, [ebp - 0x1f8]
call fcn.1002b235
movsx ecx, byte [eax]
cmp ecx, 0x72
jne 0x10064281
mov byte [ebp - 0x225], 1
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x201]
cmp ecx, edx
jl 0x10064264
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x201]
add edx, 8
cmp ecx, edx
jge 0x10064264
mov byte [ebp - 0x501], 1
jmp 0x1006426b
mov byte [ebp - 0x501], 0
mov al, byte [ebp - 0x501]
mov byte [ebp - 0x219], al
jmp 0x10064486
mov eax, dword [ebp - 0x234]
add eax, 1
push eax
lea ecx, [ebp - 0x1f8]
call fcn.1002b235
movsx ecx, byte [eax]
cmp ecx, 0x6d
jne 0x100643f8
movzx eax, byte [ebp - 0x219]
test eax, eax
je 0x100643f8
push 0x1008f2d8
lea ecx, [ebp - 0x258]
call fcn.1002b2df
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x234]
add eax, 2
push eax
lea ecx, [ebp - 0x1f8]
call fcn.1002b235
mov cl, byte [eax]
movzx edx, cl
push edx
lea ecx, [ebp - 0x258]
call fcn.1002bfcd
nop
push 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x4c0], esp
lea eax, [ebp - 0x258]
push eax
call fcn.1002baeb
call fcn.1002c36a
add esp, 0x20
mov byte [ebp - 0x501], al
mov cl, byte [ebp - 0x501]
mov byte [ebp - 0x261], cl
movzx eax, byte [ebp - 0x261]
test eax, eax
jl 0x10064372
movzx eax, byte [ebp - 0x261]
cmp eax, 8
jge 0x10064372
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax + 1]
push ecx
call fcn.1002b88e
add esp, 4
movzx edx, byte [ebp - 0x261]
cmp eax, edx
jne 0x1006435d
mov byte [ebp - 0x501], 1
jmp 0x10064364
mov byte [ebp - 0x501], 0
mov al, byte [ebp - 0x501]
mov byte [ebp - 0x219], al
jmp 0x100643ce
movzx eax, byte [ebp - 0x261]
sub eax, 8
mov byte [ebp - 0x261], al
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax + 1]
push ecx
call fcn.1002b88e
add esp, 4
movzx edx, byte [ebp - 0x261]
cmp eax, edx
jne 0x100643bb
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax + 1]
cmp ecx, 0xc0
jl 0x100643bb
mov byte [ebp - 0x501], 1
jmp 0x100643c2
mov byte [ebp - 0x501], 0
mov dl, byte [ebp - 0x501]
mov byte [ebp - 0x219], dl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x258]
call fcn.1002ba00
nop
jmp 0x10064486
movzx eax, byte [ebp - 0x219]
test eax, eax
je 0x1006447d
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x234]
add eax, 1
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x4cc], esp
lea edx, [ebp - 0x1f8]
push edx
call fcn.1002baeb
call fcn.1002c36a
add esp, 0x20
mov byte [ebp - 0x501], al
mov al, byte [ebp - 0x501]
mov byte [ebp - 0x201], al
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x201]
cmp ecx, edx
jne 0x1006446a
mov byte [ebp - 0x501], 1
jmp 0x10064471
mov byte [ebp - 0x501], 0
mov al, byte [ebp - 0x501]
mov byte [ebp - 0x219], al
jmp 0x10064481
jmp 0x10064486
jmp 0x100641bb
movzx eax, byte [ebp - 0x219]
test eax, eax
je 0x1006595b
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
movzx eax, byte [ebp - 0x20d]
test eax, eax
je 0x10064512
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x504], ecx
cmp dword [ebp - 0x504], 1
je 0x100644ee
cmp dword [ebp - 0x504], 2
je 0x10064501
cmp dword [ebp - 0x504], 0x10
je 0x100644db
jmp 0x10064512
push str.lock
mov eax, dword [ebp + 8]
push eax
call fcn.1002bb0e
add esp, 8
jmp 0x10064512
push str.repne
mov eax, dword [ebp + 8]
push eax
call fcn.1002bb0e
add esp, 8
jmp 0x10064512
push str.repe
mov eax, dword [ebp + 8]
push eax
call fcn.1002bb0e
add esp, 8
mov eax, dword [ebp - 0x1dc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
push 0x1008f2f4
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
lea ecx, [ebp - 0x1d8]
call fcn.1002b77b
mov dword [ebp - 0x270], eax
lea ecx, [ebp - 0x4ed]
call fcn.1002b95b
push eax
mov eax, dword [ebp - 0x270]
push eax
lea ecx, [ebp - 0x4e4]
call fcn.1002c2d9
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002b389
lea ecx, [ebp - 0x4e4]
call fcn.1002b0dc
nop
lea eax, [ebp - 0x1f8]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x100
call fcn.1002b442
nop
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x504], eax
cmp dword [ebp - 0x504], 0
je 0x100645cb
cmp dword [ebp - 0x504], 1
je 0x100645cd
cmp dword [ebp - 0x504], 2
je 0x100645e4
jmp 0x100645fb
jmp 0x10064610
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
or ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x134], ecx
jmp 0x10064610
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
or ecx, 2
mov edx, dword [ebp + 8]
mov dword [edx + 0x134], ecx
jmp 0x10064610
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
or ecx, 4
mov edx, dword [ebp + 8]
mov dword [edx + 0x134], ecx
mov byte [ebp - 0x279], 0xff
mov dword [ebp - 0x288], 0
jmp 0x10064632
mov eax, dword [ebp - 0x288]
add eax, 1
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x288]
cmp eax, dword [ebp - 0x270]
jae 0x10065949
mov eax, dword [ebp - 0x288]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.1002c3d3
mov esi, eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dl, byte [esi]
mov byte [eax + 4], dl
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x288]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x29c]
call fcn.1005c7d0
nop
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x288]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x2b0]
call fcn.1005c850
nop
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x288]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x2c4]
call fcn.1005c8d0
nop
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x18c]
push ecx
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x29c]
push ecx
lea ecx, [ebp - 0x2e0]
call fcn.1005c950
nop
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x288]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x2f4]
call fcn.1005c9e0
nop
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x288]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x308]
call fcn.1005ca60
nop
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x288]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x31c]
call fcn.1005cae0
nop
mov al, byte [ebp - 0x279]
mov byte [ebp - 0x325], al
movzx eax, byte [ebp - 0x279]
cmp eax, 0xff
jne 0x10064784
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
push ecx
call fcn.1002b88e
add esp, 4
mov byte [ebp - 0x325], al
movzx eax, byte [ebp - 0x225]
test eax, eax
je 0x100647a8
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax - 1]
push ecx
call fcn.1002b73a
add esp, 4
mov byte [ebp - 0x325], al
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
movzx ecx, byte [eax + 4]
mov dword [ebp - 0x504], ecx
cmp dword [ebp - 0x504], 0x4f
ja case.0x100647e1.5
mov edx, dword [ebp - 0x504]
movzx eax, byte [edx + 0x10065c80]
jmp dword [eax*4 + 0x10065bf4]
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov byte [eax + 0x24], 1
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov edx, 1
mov word [eax + 0x24], dx
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [eax + 0x24], 1
push 0x1008f2f8
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp case.0x100647e1.5
push 0
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
nop
push str.xmm0
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x4000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
push 0
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
nop
push 0x1008733c
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x400
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
push 4
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
nop
push 0x1008734c
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x400
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
push 0
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
nop
push 0x1008735c
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x800
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
push 1
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
nop
push 0x10087340
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x400
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
push 0x1008741c
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp case.0x100647e1.5
push 0x10087424
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp case.0x100647e1.5
push 0x10087428
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp case.0x100647e1.5
push 0x10087430
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp case.0x100647e1.5
push 0x1008742c
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp case.0x100647e1.5
push 0
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
nop
push 0x1008737c
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x1000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
push 1
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
nop
push 0x10087380
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x1000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
push 3
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
nop
push 0x10087390
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x1000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x100980fc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x40000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009811c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x80000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
push 0
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx ecx, al
mov edx, dword [ecx*4 + 0x1009813c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x10000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x100980dc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x20000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x100980bc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x8000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009809c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x4000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009801c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x400
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009803c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x800
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009805c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x1000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009807c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x2000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.0x100647e1.5
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
and ecx, 0x20
je 0x10065077
push 0x1008f2fc
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp 0x10065129
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
and ecx, 0x80
je 0x1006509e
push 0x1008f300
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp 0x10065129
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
and ecx, 0x100
je 0x100650c2
push 0x1008f304
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp 0x10065129
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
and ecx, 0x40
je 0x100650e3
push 0x1008f308
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp 0x10065129
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
and ecx, 0x200
je 0x10065107
push 0x1008f30c
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp 0x10065129
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
and ecx, 0x400
je 0x10065129
push 0x1008f310
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
cmp dword [ebp - 0x288], 0
jne 0x1006513e
mov al, byte [ebp - 0x325]
mov byte [ebp - 0x279], al
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
push ecx
call fcn.1002b73a
add esp, 4
mov byte [ebp - 0x325], al
mov eax, dword [ebp - 0x18c]
movzx eax, byte [eax]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
mov dword [ebp - 0x504], eax
cmp dword [ebp - 0x504], 3
ja case.default.0x10065181
mov ecx, dword [ebp - 0x504]
jmp dword [ecx*4 + 0x10065cd0]
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
movzx ecx, byte [eax + 4]
mov dword [ebp - 0x504], ecx
mov edx, dword [ebp - 0x504]
sub edx, 0x1b
mov dword [ebp - 0x504], edx
cmp dword [ebp - 0x504], 0x34
ja case.0x100651d0.2
mov eax, dword [ebp - 0x504]
movzx ecx, byte [eax + 0x10065d00]
jmp dword [ecx*4 + 0x10065ce0]
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009801c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x400
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp 0x10065557
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009803c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x800
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp 0x10065557
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x100980bc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x8000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp 0x10065557
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009809c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x4000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp 0x10065557
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009813c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x10000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp 0x10065557
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009811c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x80000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp 0x10065557
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x100980fc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x40000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp 0x10065557
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009805c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x1000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
jmp case.default.0x10065181
push str.__:_
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov al, byte [ebp - 0x325]
mov byte [ebp - 0x504], al
cmp byte [ebp - 0x504], 4
je 0x1006558d
cmp byte [ebp - 0x504], 5
je 0x100655a0
jmp 0x100655b7
push 0
lea ecx, [ebp - 0x2e0]
call fcn.1005f4e0
nop
jmp 0x10065623
push 1
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.100572b0
nop
jmp 0x10065623
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009805c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x1000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
push 0x1008f318
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp case.default.0x10065181
push str.__:_
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
movzx eax, byte [ebp - 0x325]
cmp eax, 4
jne 0x10065669
push 1
lea ecx, [ebp - 0x2e0]
call fcn.1005f4e0
nop
jmp 0x100656ed
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009805c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x1000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
push 0
mov eax, dword [ebp - 0x18c]
add eax, 1
push eax
lea ecx, [ebp - 0x29c]
call fcn.10056d90
nop
push 0x1008f318
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp case.default.0x10065181
push str.__:_
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
movzx eax, byte [ebp - 0x325]
cmp eax, 4
jne 0x10065733
push 4
lea ecx, [ebp - 0x2e0]
call fcn.1005f4e0
nop
jmp 0x100657b7
movzx eax, byte [ebp - 0x325]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov ecx, eax
call fcn.1002bc8a
movzx edx, al
mov eax, dword [edx*4 + 0x1009805c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x288]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
call fcn.1002bec4
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
or edx, 0x1000
mov eax, dword [ebp - 0x504]
mov dword [eax], edx
push 0
mov eax, dword [ebp - 0x18c]
add eax, 1
push eax
lea ecx, [ebp - 0x2c4]
call fcn.100572b0
nop
push 0x1008f318
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
jmp case.0x100647e1.5
push 1
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x29c]
call fcn.10056d90
nop
jmp case.0x100647e1.5
push 1
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.10057020
nop
jmp case.0x100647e1.5
push 1
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.100572b0
nop
jmp case.0x100647e1.5
push str.__:_
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
push 1
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.100572b0
nop
push 0x1008f318
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp case.0x100647e1.5
push str.__:_
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
push 1
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.100572b0
nop
push 0x1008f318
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp case.0x100647e1.5
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x2f4]
call fcn.10057550
nop
jmp case.0x100647e1.5
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x308]
call fcn.100576c0
nop
jmp case.0x100647e1.5
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x31c]
call fcn.10057830
nop
jmp case.0x100647e1.5
push 1
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.100572b0
nop
push 0x1008f31c
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
push 1
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.10057020
nop
mov eax, dword [ebp - 0x270]
sub eax, 1
cmp dword [ebp - 0x288], eax
jae 0x10065944
cmp dword [ebp - 0x270], 1
jbe 0x10065944
push 0x1008f320
mov eax, dword [ebp + 8]
push eax
call fcn.1002c42d
add esp, 8
jmp 0x10064623
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1f8]
call fcn.1002b8a2
nop
jmp 0x10065970
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1f8]
call fcn.1002b8a2
nop
jmp 0x10063ef1
mov eax, dword [ebp + 8]
add eax, 0x138
mov ecx, dword [ebp - 0x18c]
sub ecx, eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x148], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x148], 0
jne 0x100659b3
mov eax, dword [ebp + 8]
mov dword [eax + 0x148], 1
push 0x1008f324
mov eax, dword [ebp + 8]
push eax
call fcn.1002bb0e
add esp, 8
mov eax, dword [ebp + 8]
push edx
mov ecx, ebp
push eax
lea edx, [0x100659f0]
call fcn.1002ba5a
pop eax
pop edx
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.1002b79e
add esp, 0x504
cmp ebp, esp
call fcn.1002bc3a
mov esp, ebp
pop ebp
ret