Function at 0x40a4f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x610d9f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1dc
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor ebx, ebx
push 0xf304
mov dword [esi + 0x76e4], ebx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x58], eax
cmp eax, ebx
mov dword [esp + 0x1f4], ebx
je 0x40a559
push fcn.00528950
push 0x409aa0
lea edi, [eax + 4]
push 0x20
push 0x798
push edi
mov dword [eax], 0x20
call fcn.005b65f2
mov eax, edi
jmp 0x40a55b
xor eax, eax
mov dword [esi + 0x76e0], eax
mov eax, dword [0x65329c]
push eax
or ebp, 0xffffffff
push ebx
push str.config_ptz
lea ecx, [esp + 0x60]
mov dword [esp + 0x200], ebp
call fcn.004e9b90
lea ecx, [esp + 0x54]
mov dword [esp + 0x1f4], 1
push ecx
lea ecx, [esp + 0x30]
call fcn.004f5a80
mov edx, dword [esp + 0x54]
mov edi, dword [sym.imp.MSVCRT.dll_free]
mov byte [esp + 0x1f4], 3
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, ebp
je 0x40a5c2
dec ecx
cmp ecx, ebx
mov dword [eax], ecx
jne 0x40a5c2
push eax
call edi
add esp, 4
lea ecx, [esp + 0x2c]
call fcn.004f5af0
test al, al
jne 0x40a5e8
push str.no_ptz_directory_
call fcn.004f4290
add esp, 4
mov dword [esp + 0x1f4], ebp
jmp 0x40d4be
lea ecx, [esp + 0x30]
call fcn.0044d490
mov eax, dword [0x6e0ea0]
mov dword [esp + 0x50], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
mov eax, dword [0x65329c]
lea ecx, [esp + 0x10]
push eax
push 0
push str.Ptz_.xml
mov byte [esp + 0x200], 8
call fcn.004e9b90
lea ecx, [esp + 0x10]
push 1
lea edx, [esp + 0x54]
push ecx
push edx
lea ecx, [esp + 0x38]
mov byte [esp + 0x200], 9
call fcn.004f5c10
mov bl, al
mov eax, dword [esp + 0x10]
add eax, 0xfffffff4
mov byte [esp + 0x1f4], 8
mov ecx, dword [eax]
cmp ecx, ebp
je 0x40a665
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40a665
push eax
call edi
add esp, 4
test bl, bl
je 0x40d433
mov ebp, dword [sym.imp.MSVCRT.dll_sscanf]
lea ecx, [esp + 0x1e8]
push ecx
lea ecx, [esp + 0x30]
call fcn.004f5b00
push 0x2f
lea edx, [esp + 0x1e4]
push eax
push edx
mov byte [esp + 0x200], 0xa
call fcn.004eae60
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x118]
push ecx
push eax
push edx
mov byte [esp + 0x20c], 0xb
call fcn.004eada0
add esp, 0x18
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1f8], 0xc
call fcn.0044d680
mov eax, dword [esp + 0x10c]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40a6ea
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40a6ea
push eax
call edi
add esp, 4
mov ecx, dword [esp + 0x1e0]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40a709
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40a709
push eax
call edi
add esp, 4
mov edx, dword [esp + 0x1e8]
mov byte [esp + 0x1f4], 8
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40a730
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40a730
push eax
call edi
add esp, 4
lea eax, [esp + 0x24]
push str.Basic
push eax
call fcn.004ec2c0
add esp, 8
lea ecx, [esp + 0x18]
push ecx
push str.Name
lea ecx, [esp + 0x30]
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
lea edx, [esp + 0x18]
lea eax, [eax + eax*2]
push edx
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea ecx, [ecx + eax*8]
call fcn.004ea610
lea eax, [esp + 0x18]
lea ecx, [esp + 0x28]
push eax
push str.SpeedDome
call fcn.004ea6a0
lea ecx, [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea edx, [esp + 0x64]
lea ecx, [esp + 0x18]
push edx
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8 + 4]
push eax
push 0x6c28bc
push ecx
call ebp
mov ecx, dword [esp + 0x70]
push ecx
call edi
add esp, 0x10
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.BaudRate
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea ecx, [esp + 0x1dc]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea edx, [eax + edx*8 + 8]
push edx
push 0x6c28bc
push ecx
call ebp
mov eax, dword [esp + 0x1e8]
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x18]
push ecx
push str.Parity
lea ecx, [esp + 0x30]
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x18]
push eax
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea edx, [eax + edx*8 + 0xc]
push edx
push 0x6c28bc
push ecx
call ebp
mov eax, dword [esp + 0x78]
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x18]
push ecx
push str.DataBits
lea ecx, [esp + 0x30]
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea eax, [esp + 0x12c]
lea ecx, [esp + 0x18]
push eax
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea edx, [eax + edx*8 + 0x10]
push edx
push 0x6c28bc
push ecx
call ebp
mov eax, dword [esp + 0x138]
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x18]
push ecx
push str.StopBits
lea ecx, [esp + 0x30]
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea eax, [esp + 0x74]
lea ecx, [esp + 0x18]
push eax
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea edx, [eax + edx*8 + 0x14]
push edx
push 0x6c28bc
push ecx
call ebp
mov eax, dword [esp + 0x80]
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x18]
push ecx
push str.CodeLen
lea ecx, [esp + 0x30]
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea eax, [esp + 0x18c]
lea ecx, [esp + 0x18]
push eax
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea edx, [eax + edx*8 + 0x18]
push edx
push 0x6c28bc
push ecx
call ebp
mov eax, dword [esp + 0x198]
push eax
call edi
lea ecx, [esp + 0x34]
push str.Speed
push ecx
call fcn.004ec2c0
add esp, 0x18
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.Default
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea edx, [eax + edx*8 + 0x9c]
push edx
push 0x6c28bc
push ecx
call ebp
mov eax, dword [esp + 0x88]
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x18]
push ecx
push 0x6c3628
lea ecx, [esp + 0x30]
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea eax, [esp + 0x134]
push eax
lea ecx, [esp + 0x1c]
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea eax, [eax + edx*8]
lea edx, [eax + 0x8c]
push edx
lea edx, [eax + 0x88]
add eax, 0x84
push edx
push eax
push 0x6c2fa8
push ecx
call ebp
mov eax, dword [esp + 0x148]
push eax
call edi
add esp, 0x18
lea ecx, [esp + 0x18]
push ecx
push str.Tilt
lea ecx, [esp + 0x30]
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea eax, [esp + 0x84]
lea ecx, [esp + 0x18]
push eax
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea eax, [eax + edx*8]
lea edx, [eax + 0x98]
push edx
lea edx, [eax + 0x94]
add eax, 0x90
push edx
push eax
push 0x6c2fa8
push ecx
call ebp
mov eax, dword [esp + 0x98]
push eax
call edi
lea ecx, [esp + 0x3c]
push str.Address
push ecx
call fcn.004ec2c0
add esp, 0x20
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.Method
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea ecx, [esp + 0x1bc]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea edx, [eax + edx*8 + 0x1c]
push edx
push 0x6c28bc
push ecx
call ebp
mov eax, dword [esp + 0x1c8]
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x18]
push ecx
push str.BaseAddr
lea ecx, [esp + 0x30]
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x18]
push eax
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea edx, [eax + edx*8 + 0x20]
push edx
push 0x6c28bc
push ecx
call ebp
mov eax, dword [esp + 0x98]
push eax
call edi
add esp, 0x10
xor ebx, ebx
lea eax, [ebx + 1]
lea ecx, [esp + 0x28]
push eax
push str.Pos_d
push ecx
mov dword [esp + 0x20], eax
call fcn.004ec2c0
add esp, 0xc
lea edx, [esp + 0x18]
lea eax, [esp + 0x28]
lea ecx, [esp + 0x24]
push edx
push eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea edx, [esp + 0x13c]
lea ecx, [esp + 0x18]
push edx
call fcn.004eb670
mov edx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [ebx + eax*8]
add eax, ecx
mov ecx, dword [esi + 0x76e0]
lea ebx, [ecx + eax*8 + 0x28]
lea eax, [ecx + eax*8 + 0x24]
push ebx
push eax
push str._d__d
push edx
call ebp
mov ecx, dword [esp + 0x14c]
push ecx
call edi
mov ebx, dword [esp + 0x28]
add esp, 0x14
cmp ebx, 4
jl 0x40ac07
lea edx, [esp + 0x24]
push str.Parity
push edx
call fcn.004ec2c0
add esp, 8
xor eax, eax
xor ebx, ebx
inc eax
mov dword [esp + 0x14], eax
push eax
lea eax, [esp + 0x2c]
push str.Step_d
push eax
call fcn.004ec2c0
add esp, 0xc
lea ecx, [esp + 0x18]
lea edx, [esp + 0x28]
lea eax, [esp + 0x24]
push ecx
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004eb670
mov edx, dword [eax]
mov eax, dword [esi + 0x76e4]
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x76e0]
lea eax, [eax + eax*2]
lea ecx, [ebx + edx]
add edx, ebx
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
shl eax, 3
add ecx, eax
lea eax, [edx + eax + 0x50]
push eax
lea edx, [ecx + 0x4c]
lea eax, [ecx + 0x48]
push edx
add ecx, 0x44
push eax
push ecx
mov ecx, dword [esp + 0x20]
push str._d__d__d__d
push ecx
call ebp
mov edx, dword [esp + 0xac]
push edx
call edi
mov eax, dword [esp + 0x30]
add ebx, 0x10
add esp, 0x1c
cmp ebx, 0x40
jl 0x40aca5
lea eax, [esp + 0x24]
push str.Codes
push eax
call fcn.004ec2c0
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 8
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [0x6e0ea0]
mov ebx, dword [edx + ecx*8 + 0x18]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f4], 0xd
push ecx
push str.LeftUp
lea ecx, [esp + 0x30]
mov dword [esp + 0x28], 0
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40ae80
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x198]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0xe
call fcn.004ea610
mov edx, dword [esp + 0x194]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40ae14
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40ae14
push eax
call edi
add esp, 4
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0xa8]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0xa0], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40adc3
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40af55
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
push 2
lea eax, [esp + 0x148]
push edx
push eax
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0xf
call fcn.004ea610
mov ecx, dword [esp + 0x144]
mov byte [esp + 0x1f4], 0xd
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40aee9
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40aee9
push eax
call edi
add esp, 4
lea edx, [esp + 0xa4]
lea ecx, [esp + 0x1c]
push edx
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0xb0]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0xc0], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40ae98
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push 0x6c3590
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b04b
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x1d8]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x10
call fcn.004ea610
mov eax, dword [esp + 0x1d4]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40afdf
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40afdf
push eax
call edi
add esp, 4
lea ecx, [esp + 0xac]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0xb8]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0xdf], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40af8f
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b120
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x150]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x11
call fcn.004ea610
mov edx, dword [esp + 0x14c]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40b0b4
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b0b4
push eax
call edi
add esp, 4
lea eax, [esp + 0xb4]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0xc0]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x100], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40b063
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.RightUp
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b216
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x1a0]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x12
call fcn.004ea610
mov eax, dword [esp + 0x19c]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40b1aa
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b1aa
push eax
call edi
add esp, 4
lea ecx, [esp + 0xbc]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0xc8]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x11f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40b15a
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b2eb
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x158]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x13
call fcn.004ea610
mov edx, dword [esp + 0x154]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40b27f
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b27f
push eax
call edi
add esp, 4
lea eax, [esp + 0xc4]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0xd0]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x140], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40b22e
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.Left
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b3e1
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x1c8]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x14
call fcn.004ea610
mov eax, dword [esp + 0x1c4]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40b375
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b375
push eax
call edi
add esp, 4
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0xd8]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x15f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40b325
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b4b6
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x160]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x15
call fcn.004ea610
mov edx, dword [esp + 0x15c]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40b44a
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b44a
push eax
call edi
add esp, 4
lea eax, [esp + 0xd4]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0xe0]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x180], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40b3f9
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.Right
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b5ac
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x1a8]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x16
call fcn.004ea610
mov eax, dword [esp + 0x1a4]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40b540
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b540
push eax
call edi
add esp, 4
lea ecx, [esp + 0xdc]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0xe8]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x19f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40b4f0
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b681
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x168]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x17
call fcn.004ea610
mov edx, dword [esp + 0x164]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40b615
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b615
push eax
call edi
add esp, 4
lea eax, [esp + 0xe4]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0xf0]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x1c0], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40b5c4
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.LeftDown
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b777
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x1e8]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x18
call fcn.004ea610
mov eax, dword [esp + 0x1e4]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40b70b
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b70b
push eax
call edi
add esp, 4
lea ecx, [esp + 0xec]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0xf8]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x1df], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40b6bb
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b84c
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x170]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x19
call fcn.004ea610
mov edx, dword [esp + 0x16c]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40b7e0
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b7e0
push eax
call edi
add esp, 4
lea eax, [esp + 0xf4]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x100]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x200], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40b78f
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push 0x6c3548
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40b942
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x1b0]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x1a
call fcn.004ea610
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40b8d6
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b8d6
push eax
call edi
add esp, 4
lea ecx, [esp + 0xfc]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x108]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x21f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40b886
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40ba17
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x178]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x1b
call fcn.004ea610
mov edx, dword [esp + 0x174]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40b9ab
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b9ab
push eax
call edi
add esp, 4
lea eax, [esp + 0x104]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x110]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x240], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40b95a
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.RightDown
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40bb07
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x1d0]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x1c
call fcn.004ea610
mov eax, dword [esp + 0x1cc]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40baa1
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40baa1
push eax
call edi
add esp, 4
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x68]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x25f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40ba51
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40bbdc
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x180]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x1d
call fcn.004ea610
mov edx, dword [esp + 0x17c]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40bb70
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40bb70
push eax
call edi
add esp, 4
lea eax, [esp + 0x114]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x120]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x280], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40bb1f
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.ZoomIn
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40bcd2
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x1b8]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x1e
call fcn.004ea610
mov eax, dword [esp + 0x1b4]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40bc66
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40bc66
push eax
call edi
add esp, 4
lea ecx, [esp + 0x11c]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x128]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x29f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40bc16
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40bda7
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x188]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x1f
call fcn.004ea610
mov edx, dword [esp + 0x184]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40bd3b
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40bd3b
push eax
call edi
add esp, 4
lea eax, [esp + 0x124]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x130]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x2c0], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40bcea
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.LensIn
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40be91
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x64]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x20
call fcn.004ea610
mov eax, dword [esp + 0x60]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40be2b
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40be2b
push eax
call edi
add esp, 4
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x74]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x2df], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40bde1
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40bf5d
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x74]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x21
call fcn.004ea610
mov edx, dword [esp + 0x70]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40bef4
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40bef4
push eax
call edi
add esp, 4
lea eax, [esp + 0x78]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x84]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x300], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40bea9
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.FocusIn
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c053
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x84]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x22
call fcn.004ea610
mov eax, dword [esp + 0x80]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40bfe7
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40bfe7
push eax
call edi
add esp, 4
lea ecx, [esp + 0x88]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x94]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x31f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40bf97
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c128
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x94]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x23
call fcn.004ea610
mov edx, dword [esp + 0x90]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40c0bc
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c0bc
push eax
call edi
add esp, 4
lea eax, [esp + 0x98]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0xa4]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x340], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40c06b
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.ZoomOut
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c21e
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0xa4]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x24
call fcn.004ea610
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40c1b2
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c1b2
push eax
call edi
add esp, 4
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0xb4]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x35f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40c162
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c2f3
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0xb4]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x25
call fcn.004ea610
mov edx, dword [esp + 0xb0]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40c287
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c287
push eax
call edi
add esp, 4
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0xc4]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x380], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40c236
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.LensOut
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c3e9
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0xc4]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x26
call fcn.004ea610
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40c37d
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c37d
push eax
call edi
add esp, 4
lea ecx, [esp + 0xc8]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0xd4]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x39f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40c32d
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c4be
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0xd4]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x27
call fcn.004ea610
mov edx, dword [esp + 0xd0]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40c452
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c452
push eax
call edi
add esp, 4
lea eax, [esp + 0xd8]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0xe4]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x3c0], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40c401
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.FocusOut
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c5b4
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0xe4]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x28
call fcn.004ea610
mov eax, dword [esp + 0xe0]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40c548
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c548
push eax
call edi
add esp, 4
lea ecx, [esp + 0xe8]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0xf4]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x3df], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40c4f8
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c689
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0xf4]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x29
call fcn.004ea610
mov edx, dword [esp + 0xf0]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40c61d
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c61d
push eax
call edi
add esp, 4
lea eax, [esp + 0xf8]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x104]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x400], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40c5cc
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.Auto
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c77f
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x104]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x2a
call fcn.004ea610
mov eax, dword [esp + 0x100]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40c713
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c713
push eax
call edi
add esp, 4
lea ecx, [esp + 0x108]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x114]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x41f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40c6c3
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c854
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x114]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x2b
call fcn.004ea610
mov edx, dword [esp + 0x110]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40c7e8
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c7e8
push eax
call edi
add esp, 4
lea eax, [esp + 0x118]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x124]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x440], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40c797
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.Wiper
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40c94a
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x124]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x2c
call fcn.004ea610
mov eax, dword [esp + 0x120]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40c8de
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c8de
push eax
call edi
add esp, 4
lea ecx, [esp + 0x128]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x134]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x45f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40c88e
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40ca1f
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x134]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x2d
call fcn.004ea610
mov edx, dword [esp + 0x130]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40c9b3
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c9b3
push eax
call edi
add esp, 4
lea eax, [esp + 0x138]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x144]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x480], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40c962
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.Lamp
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40cb15
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x144]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x2e
call fcn.004ea610
mov eax, dword [esp + 0x140]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40caa9
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40caa9
push eax
call edi
add esp, 4
lea ecx, [esp + 0x148]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x154]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x49f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40ca59
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40cbea
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x154]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x2f
call fcn.004ea610
mov edx, dword [esp + 0x150]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40cb7e
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40cb7e
push eax
call edi
add esp, 4
lea eax, [esp + 0x158]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x164]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x4c0], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40cb2d
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.Enter
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40cce0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x164]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x30
call fcn.004ea610
mov eax, dword [esp + 0x160]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40cc74
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40cc74
push eax
call edi
add esp, 4
lea ecx, [esp + 0x168]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x174]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x4df], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40cc24
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40cdb5
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x174]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x31
call fcn.004ea610
mov edx, dword [esp + 0x170]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40cd49
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40cd49
push eax
call edi
add esp, 4
lea eax, [esp + 0x178]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x184]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x500], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40ccf8
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push 0x6c3494
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40ceab
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x184]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x32
call fcn.004ea610
mov eax, dword [esp + 0x180]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40ce3f
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40ce3f
push eax
call edi
add esp, 4
lea ecx, [esp + 0x188]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x194]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x51f], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40cdef
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40cf80
lea eax, [ebx + ebx*2 + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x194]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x33
call fcn.004ea610
mov edx, dword [esp + 0x190]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40cf14
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40cf14
push eax
call edi
add esp, 4
lea eax, [esp + 0x198]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x1a4]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x540], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40cec3
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
mov ecx, dword [eax + edx*8 + 4]
test ecx, ecx
je 0x40d3c6
lea ecx, [esp + 0x18]
push ecx
push 0x6c348c
lea ecx, [esp + 0x30]
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40d098
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x1a4]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x34
call fcn.004ea610
mov edx, dword [esp + 0x1a0]
mov byte [esp + 0x1f4], 0xd
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40d02c
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40d02c
push eax
call edi
add esp, 4
lea eax, [esp + 0x1a8]
lea ecx, [esp + 0x1c]
push eax
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x1b4]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x6e0], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40cfdb
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push 0x6c347c
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40d18e
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
push 2
lea edx, [esp + 0x1b4]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x35
call fcn.004ea610
mov eax, dword [esp + 0x1b0]
mov byte [esp + 0x1f4], 0xd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40d122
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40d122
push eax
call edi
add esp, 4
lea ecx, [esp + 0x1b8]
push ecx
lea ecx, [esp + 0x20]
call fcn.004eb670
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x6c3598
push eax
call ebp
mov eax, dword [esp + 0x1c4]
push eax
call edi
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [edx + ecx*8]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x14], eax
mov byte [ecx + eax + 0x6ff], dl
mov edx, dword [esp + 0x10]
add edx, 3
cmp eax, ebx
mov dword [esp + 0x10], edx
jl 0x40d0d2
lea eax, [esp + 0x18]
lea ecx, [esp + 0x28]
push eax
push str.Call
call fcn.004ea6a0
lea ecx, [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.0044d970
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x40d285
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
push 2
lea eax, [esp + 0x1c4]
push edx
push eax
lea ecx, [esp + 0x24]
call fcn.004eb6d0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f8], 0x36
call fcn.004ea610
mov ecx, dword [esp + 0x1c0]
mov byte [esp + 0x1f4], 0xd
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40d219
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40d219
push eax
call edi
add esp, 4
lea edx, [esp + 0x1c8]
lea ecx, [esp + 0x1c]
push edx
call fcn.004eb670
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x6c3598
push eax
call ebp
mov edx, dword [esp + 0x1d4]
push edx
call edi
mov eax, dword [esi + 0x76e4]
mov ecx, dword [esi + 0x76e0]
add esp, 0x10
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
mov byte [edx + eax + 0x720], cl
mov edx, dword [esp + 0x10]
inc eax
add edx, 3
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x40d1c8
lea edx, [esp + 0x24]
push str.PresetPos
push edx
call fcn.004ec2c0
add esp, 8
lea eax, [esp + 0x18]
lea ecx, [esp + 0x28]
push eax
push str.SetPos
call fcn.004ea6a0
lea ecx, [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea edx, [esp + 0x1d0]
lea ecx, [esp + 0x18]
push edx
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
mov edx, dword [esi + 0x76e0]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8 + 0x780]
push eax
push 0x6c28bc
push ecx
call ebp
mov ecx, dword [esp + 0x1dc]
push ecx
call edi
add esp, 0x10
lea edx, [esp + 0x18]
lea ecx, [esp + 0x28]
push edx
push str.DeletePos
call fcn.004ea6a0
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea ecx, [esp + 0x1d8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea edx, [eax + edx*8 + 0x784]
push edx
push 0x6c28bc
push ecx
call ebp
mov eax, dword [esp + 0x1e4]
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x18]
push ecx
push str.CallPos
lea ecx, [esp + 0x30]
call fcn.004ea6a0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.0044d970
lea eax, [esp + 0x58]
lea ecx, [esp + 0x18]
push eax
call fcn.004eb670
mov ecx, dword [eax]
mov eax, dword [esi + 0x76e4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x76e0]
lea edx, [eax + edx*8 + 0x788]
push edx
push 0x6c28bc
push ecx
call ebp
mov eax, dword [esp + 0x64]
push eax
call edi
add esp, 0x10
mov ecx, dword [esi + 0x76e4]
inc ecx
mov eax, ecx
mov dword [esi + 0x76e4], ecx
cmp eax, 0x20
jge 0x40d418
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x30]
call fcn.004f5c60
mov edx, dword [esp + 0x1c]
mov bl, al
mov byte [esp + 0x1f4], 8
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40d40e
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40d40e
push eax
call edi
add esp, 4
test bl, bl
jne 0x40a673
jmp 0x40d433
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40d433
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40d433
push eax
call edi
add esp, 4
mov ecx, dword [esp + 0x18]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40d44f
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40d44f
push eax
call edi
add esp, 4
mov edx, dword [esp + 0x28]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40d46b
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40d46b
push eax
call edi
add esp, 4
mov eax, dword [esp + 0x24]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40d486
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40d486
push eax
call edi
add esp, 4
mov ecx, dword [esp + 0x50]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40d4a2
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40d4a2
push eax
call edi
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x1f4], 3
call fcn.0044d4f0
mov dword [esp + 0x1f4], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.004f5bf0
mov ecx, dword [esp + 0x1ec]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1e8
ret