Function at 0x40a4f0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5052da
mov eax, dword fs:[0]
push eax
sub esp, 0x2fc
mov eax, dword [0x55300c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1f4], ecx
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1f0], edi
mov dword [ebp - 4], 1
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0
call fcn.00412920
mov dword [ebp - 0x1e4], eax
push 0
mov byte [ebp - 4], 2
push 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
call fcn.00412630
mov esi, eax
mov dword [ebp - 0x1d4], esi
mov eax, dword [ebp + 0x34]
mov byte [ebp - 4], 3
test al, 1
je 0x40a7f2
lea eax, [ebp - 0x1ec]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x1ec], xmm0
push edi
mov dword [ebp - 0x1ec], 4
call dword [sym.imp.rime.dll_RimeGetCommit]
add esp, 8
test eax, eax
je 0x40a7ef
push 6
xor eax, eax
mov dword [ebp - 0x5c], 0
push 0x52b1a8
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.00406c50
mov byte [ebp - 4], 4
lea eax, [ebp - 0x6c]
push dword [ebp - 0x1d8]
push eax
push ecx
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.004185f0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x58]
cmp edx, 8
jb 0x40a63a
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a630
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bec6
push edx
push ecx
call fcn.00481e07
add esp, 8
push 7
xor eax, eax
mov dword [ebp - 0x5c], 0
push str.commit
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.00406c50
push 0x2000
push 0
push 0x560800
mov byte [ebp - 4], 5
call fcn.004b62b0
add esp, 0xc
push 0xfff
push 0x560800
push 0xffffffffffffffff
push dword [ebp - 0x1e8]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x560800
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x54]
call fcn.00404190
push 0xa
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x84]
call fcn.00413710
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [esi + 4]
push eax
push ecx
push esi
mov dword [ebp - 0x1d8], ecx
call fcn.00418d40
mov edx, dword [ebp - 0x1d0]
mov ecx, 0x7fffffe
sub ecx, edx
cmp ecx, 1
jb 0x40becb
mov ecx, dword [ebp - 0x1d8]
inc edx
mov dword [esi + 4], eax
mov dword [ebp - 0x1d0], edx
mov byte [ebp - 4], 6
mov dword [ecx], eax
mov edx, dword [ebp - 0x70]
cmp edx, 8
jb 0x40a738
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a72e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bed5
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
cmp edx, 8
jb 0x40a78d
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a783
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beda
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
cmp edx, 8
jb 0x40a7df
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a7d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bedf
push edx
push ecx
call fcn.00481e07
add esp, 8
lea eax, [ebp - 0x1ec]
push eax
call dword [sym.imp.rime.dll_RimeFreeCommit]
add esp, 4
mov eax, dword [ebp + 0x34]
test al, 6
je 0x40b64a
xorps xmm0, xmm0
mov byte [ebp - 0x1c9], 0
lea eax, [ebp - 0x258]
movq qword [ebp - 0x238], xmm0
push eax
movups xmmword [ebp - 0x258], xmm0
push edi
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x258], 0x24
call dword [sym.imp.rime.dll_RimeGetStatus]
add esp, 8
test eax, eax
mov eax, dword [ebp + 0x34]
je 0x40b143
cmp dword [ebp - 0x248], 0
setne byte [ebp - 0x1c9]
test al, 2
je 0x40b143
push 6
xor eax, eax
mov dword [ebp - 0x5c], 0
push str.status
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.00406c50
mov byte [ebp - 4], 8
lea eax, [ebp - 0x6c]
push dword [ebp - 0x1d8]
push eax
push ecx
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.004185f0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x58]
cmp edx, 8
jb 0x40a8d8
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a8ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bee4
push edx
push ecx
call fcn.00481e07
add esp, 8
mov edx, dword [ebp - 0x244]
lea ecx, [ebp - 0xa0]
call fcn.00432ee0
mov esi, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x6c]
push 0x12
xor eax, eax
mov dword [ebp - 0x5c], 0
push str.status.ascii_mode
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.00406c50
push esi
lea edx, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x84]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x54]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xc
call fcn.0040e330
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40a986
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a97c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bee9
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
cmp edx, 8
jb 0x40a9db
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a9d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beee
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
cmp edx, 8
jb 0x40aa30
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aa26
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bef3
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
cmp edx, 8
jb 0x40aa88
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aa7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bef8
push edx
push ecx
call fcn.00481e07
add esp, 8
mov edx, dword [ebp - 0x248]
lea ecx, [ebp - 0xa0]
call fcn.00432ee0
mov esi, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x6c]
push 0x11
xor eax, eax
mov dword [ebp - 0x5c], 0
push str.status.composing
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.00406c50
push esi
lea edx, [ebp - 0x6c]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x84]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x54]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x10
call fcn.0040e330
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40ab36
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ab2c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40befd
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
cmp edx, 8
jb 0x40ab8b
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ab81
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf02
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
cmp edx, 8
jb 0x40abe0
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40abd6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf07
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
cmp edx, 8
jb 0x40ac38
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ac2e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf0c
push edx
push ecx
call fcn.00481e07
add esp, 8
mov edx, dword [ebp - 0x24c]
lea ecx, [ebp - 0xa0]
call fcn.00432ee0
mov esi, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x6c]
push 0x10
xor eax, eax
mov dword [ebp - 0x5c], 0
push str.status.disabled
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.00406c50
push esi
lea edx, [ebp - 0x6c]
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x84]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x54]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x14
call fcn.0040e330
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40ace6
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40acdc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf11
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
cmp edx, 8
jb 0x40ad3b
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ad31
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf16
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
cmp edx, 8
jb 0x40ad90
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ad86
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf1b
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
cmp edx, 8
jb 0x40ade8
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40adde
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf20
push edx
push ecx
call fcn.00481e07
add esp, 8
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.rime.dll_RimeFreeStatus]
push 0x52b248
push edi
call dword [sym.imp.rime.dll_RimeGetOption]
add esp, 0xc
lea ecx, [ebp - 0xa0]
mov edx, eax
call fcn.00432ee0
mov esi, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x6c]
push 0x12
xor eax, eax
mov dword [ebp - 0x5c], 0
push str.status.full_shape
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.00406c50
push esi
lea edx, [ebp - 0x6c]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x84]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x54]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x18
call fcn.0040e330
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40aeae
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aea4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf25
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
cmp edx, 8
jb 0x40af03
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aef9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf2a
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
cmp edx, 8
jb 0x40af58
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40af4e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf2f
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
cmp edx, 8
jb 0x40afb0
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40afa6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf34
push edx
push ecx
call fcn.00481e07
add esp, 8
push 0x52b27c
push edi
call dword [sym.imp.rime.dll_RimeGetOption]
add esp, 8
lea ecx, [ebp - 0x6c]
mov edx, eax
call fcn.00432ee0
mov esi, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x84]
push 0x13
xor eax, eax
mov dword [ebp - 0x74], 0
push str.status.ascii_punct
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
call fcn.00406c50
push esi
lea edx, [ebp - 0x84]
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xa0]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x54]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x1c
call fcn.0040e330
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40b06f
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b065
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bf39
push edx
push ecx
call fcn.00481e07
add esp, 8
xor eax, eax
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
call fcn.00406540
lea ecx, [ebp - 0x84]
call fcn.00406540
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 3
call fcn.00406540
push 0x64
lea eax, [ebp - 0x134]
push 0
push eax
call fcn.004b62b0
push 0x64
lea eax, [ebp - 0x134]
push eax
push edi
call dword [sym.imp.rime.dll_RimeGetCurrentSchema]
add esp, 0x18
test eax, eax
je 0x40b140
push str.status.schema_id
lea ecx, [ebp - 0x84]
call fcn.00406e00
mov esi, eax
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x1d
call fcn.00402080
push eax
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.00404190
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xa0]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x1f
call fcn.0040e330
lea ecx, [ebp - 0xa0]
call fcn.00406540
lea ecx, [ebp - 0x54]
call fcn.00406540
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.00406540
mov eax, dword [ebp + 0x34]
test al, 4
je 0x40b64a
xorps xmm0, xmm0
mov dword [ebp - 0x230], 0x38
lea eax, [ebp - 0x230]
movlpd qword [ebp - 0x22c], xmm0
push eax
push edi
movlpd qword [ebp - 0x224], xmm0
movlpd qword [ebp - 0x21c], xmm0
movlpd qword [ebp - 0x214], xmm0
movlpd qword [ebp - 0x20c], xmm0
movlpd qword [ebp - 0x204], xmm0
movlpd qword [ebp - 0x1fc], xmm0
call dword [sym.imp.rime.dll_RimeGetContext]
add esp, 8
test eax, eax
je 0x40b647
cmp byte [ebp - 0x1c9], 0
je 0x40b4d5
push 0x52b2d4
lea ecx, [ebp - 0xa0]
call fcn.00406e00
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0xa0]
push dword [ebp - 0x1d8]
push eax
push ecx
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.004185f0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 3
call fcn.00406540
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [ecx + 0x118]
sub eax, 0
je 0x40b35b
sub eax, 1
jne 0x40b4d5
mov ecx, dword [ebp - 0x1fc]
test ecx, ecx
je 0x40b35b
call fcn.00402080
push eax
lea ecx, [ebp - 0x84]
call fcn.00406e00
push str.ctx.preedit
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x21
call fcn.00406e00
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x22
push ecx
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.00413790
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xa0]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x24
call fcn.0040e330
lea ecx, [ebp - 0xa0]
call fcn.00406540
lea ecx, [ebp - 0x54]
call fcn.00406540
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x21
call fcn.00406540
mov edx, dword [ebp - 0x74]
lea ecx, [ebp - 0x12]
call fcn.00432d20
xor ecx, ecx
mov dword [ebp - 0x44], 0
mov word [ebp - 0x54], cx
lea ecx, [ebp - 0x12]
mov dword [ebp - 0x40], 7
cmp eax, ecx
je 0x40b2d5
sub ecx, eax
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.00406c50
push str.ctx.preedit.cursor0_
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x25
call fcn.00406e00
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x26
push ecx
mov edx, eax
lea ecx, [ebp - 0x6c]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0xa0]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x28
call fcn.0040e330
lea ecx, [ebp - 0xa0]
call fcn.00406540
lea ecx, [ebp - 0x6c]
call fcn.00406540
lea ecx, [ebp - 0xb8]
call fcn.00406540
lea ecx, [ebp - 0x54]
call fcn.00406540
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.00406540
jmp 0x40b4d5
push str.ctx.preedit
lea ecx, [ebp - 0x54]
call fcn.00406e00
mov esi, eax
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x21c]
call fcn.00402080
push eax
mov edx, esi
lea ecx, [ebp - 0xa0]
call fcn.00404190
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xb8]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x2b
call fcn.0040e330
lea ecx, [ebp - 0xb8]
call fcn.00406540
lea ecx, [ebp - 0xa0]
call fcn.00406540
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.00406540
mov edx, dword [ebp - 0x220]
cmp dword [ebp - 0x224], edx
jg 0x40b4d5
mov ecx, dword [ebp - 0x21c]
call fcn.00407480
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.00432ee0
mov edi, eax
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x21c]
call fcn.00407480
mov edx, eax
lea ecx, [ebp - 0xd0]
call fcn.00432ee0
mov esi, eax
push str.ctx.preedit.cursor
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x2d
call fcn.00406e00
push esi
mov edx, eax
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x84]
call fcn.004137f0
push 0x2c
mov edx, eax
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x54]
call fcn.00413710
push edi
mov edx, eax
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0xa0]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0xb8]
call fcn.00413710
add esp, 0x10
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x32
call fcn.0040e330
lea ecx, [ebp - 0xb8]
call fcn.00406540
lea ecx, [ebp - 0xa0]
call fcn.00406540
lea ecx, [ebp - 0x54]
call fcn.00406540
lea ecx, [ebp - 0x84]
call fcn.00406540
lea ecx, [ebp - 0x6c]
call fcn.00406540
lea ecx, [ebp - 0xd0]
call fcn.00406540
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.00406540
mov edi, dword [ebp - 0x1f0]
cmp dword [ebp - 0x208], 0
je 0x40b637
xorps xmm0, xmm0
mov dword [ebp - 0x110], 0
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0x10c], 0
movups xmmword [ebp - 0xf0], xmm0
mov dword [ebp - 0x108], 0
movups xmmword [ebp - 0xe0], xmm0
mov byte [ebp - 0x104], 0
sub esp, 8
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x308]
call fcn.0040f570
push ecx
lea eax, [ebp - 0x2f8]
mov byte [ebp - 4], 0x34
push eax
lea ecx, [ebp - 0x1c8]
call fcn.00432a60
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.00409df0
call fcn.0041e4d0
push eax
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x1c8]
call fcn.004a02d0
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x308]
call fcn.0040f430
mov esi, eax
push str.ctx.cand
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x36
call fcn.00406e00
push esi
mov edx, eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0xd0]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x2c]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x39
call fcn.0040e330
lea ecx, [ebp - 0x2c]
call fcn.00406540
lea ecx, [ebp - 0xd0]
call fcn.00406540
lea ecx, [ebp - 0xb8]
call fcn.00406540
lea ecx, [ebp - 0xa0]
call fcn.00406540
lea ecx, [ebp - 0x1c8]
mov dword [ebp - method.boost::archive::detail::common_oarchive_class_boost::archive::text_woarchive_.virtual_0], vtable.boost::archive::basic_text_oarchive_class_boost::archive::text_woarchive_.0
call fcn.0049d9b0
lea ecx, [ebp - 0x1b0]
call fcn.004b04f0
lea ecx, [ebp - 0x308]
call fcn.0040bfb0
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 3
call fcn.004070f0
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.rime.dll_RimeFreeContext]
add esp, 4
mov eax, dword [ebp + 0x34]
test al, 0x10
je 0x40b8eb
push 6
xor eax, eax
mov dword [ebp - 0x44], 0
push str.config
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
call fcn.00406c50
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x54]
push dword [ebp - 0x1d8]
push eax
push ecx
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.004185f0
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.00406540
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0xb8]
movzx edx, byte [eax + 0x158]
call fcn.00432ee0
mov esi, eax
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x54]
push 0x16
xor eax, eax
mov dword [ebp - 0x44], 0
push str.config.inline_preedit
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
call fcn.00406c50
push esi
lea edx, [ebp - 0x54]
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0xd0]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x2c]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x3e
call fcn.0040e330
lea ecx, [ebp - 0x2c]
call fcn.004065a0
lea ecx, [ebp - 0xd0]
call fcn.004065a0
lea ecx, [ebp - 0x54]
call fcn.004065a0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 3
call fcn.004065a0
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1e8], 0
push eax
push str.user
call dword [sym.imp.rime.dll_RimeUserConfigOpen]
add esp, 8
test eax, eax
je 0x40b8e8
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x1f0], 0
push eax
lea eax, [ebp - 0x1e8]
push 0x52afbc
push eax
call dword [sym.imp.rime.dll_RimeConfigGetInt]
add esp, 0xc
test eax, eax
je 0x40b821
mov edx, dword [ebp - 0x1f0]
lea ecx, [ebp - 0xa0]
call fcn.00432ee0
mov esi, eax
push str.status.status_bar_x
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x3f
call fcn.00406e00
push esi
mov edx, eax
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0xd0]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x2c]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x42
call fcn.0040e330
lea ecx, [ebp - 0x2c]
call fcn.004065a0
lea ecx, [ebp - 0xd0]
call fcn.004065a0
lea ecx, [ebp - 0xb8]
call fcn.004065a0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 3
call fcn.004065a0
lea eax, [ebp - 0x1d8]
mov dword [ebp - 0x1d8], 0
push eax
lea eax, [ebp - 0x1e8]
push 0x52afcc
push eax
call dword [sym.imp.rime.dll_RimeConfigGetInt]
add esp, 0xc
test eax, eax
je 0x40b8d8
mov edx, dword [ebp - 0x1d8]
lea ecx, [ebp - 0xa0]
call fcn.00432ee0
mov esi, eax
push str.status.status_bar_y
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x43
call fcn.00406e00
push esi
mov edx, eax
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0xd0]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x2c]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x46
call fcn.0040e330
lea ecx, [ebp - 0x2c]
call fcn.004065a0
lea ecx, [ebp - 0xd0]
call fcn.004065a0
lea ecx, [ebp - 0xb8]
call fcn.004065a0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 3
call fcn.004065a0
lea eax, [ebp - 0x1e8]
push eax
call dword [sym.imp.rime.dll_RimeConfigClose]
add esp, 4
mov eax, dword [ebp + 0x34]
test al, 8
je 0x40bac9
push str.__synced
push edi
call dword [sym.imp.rime.dll_RimeGetOption]
add esp, 8
test eax, eax
jne 0x40bac9
sub esp, 8
lea ecx, [ebp - 0x308]
call fcn.0040f570
push ecx
lea eax, [ebp - 0x2f8]
mov byte [ebp - 4], 0x47
push eax
lea ecx, [ebp - 0x1c8]
call fcn.00432a60
mov esi, dword [ebp - 0x1f4]
lea eax, [ebp - 0x148]
push eax
mov byte [ebp - 4], 0x48
lea ecx, [esi + 0x204]
call fcn.00403170
lea ecx, [esi + 0x1d4]
mov byte [ebp - 4], 0x49
lea eax, [ebp - 0x100]
cmp ecx, eax
je 0x40b979
cmp dword [ebp - 0xec], 8
push dword [ebp - 0xf0]
cmovae eax, dword [ebp - 0x100]
push eax
call fcn.00406c50
lea ecx, [esi + 0x1ec]
lea eax, [ebp - 0x148]
cmp ecx, eax
je 0x40b9a3
cmp dword [ebp - 0x134], 8
push dword [ebp - 0x138]
cmovae eax, dword [ebp - 0x148]
push eax
call fcn.00406c50
call fcn.0041e450
lea ecx, [esi + 0x118]
push eax
push ecx
lea ecx, [ebp - 0x1c8]
call fcn.004a02d0
push 0x52b3f8
lea ecx, [ebp - 0xa0]
call fcn.00406e00
mov byte [ebp - 4], 0x4a
lea eax, [ebp - 0xa0]
push dword [ebp - 0x1d8]
push eax
push ecx
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.004185f0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x49
call fcn.004065a0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x308]
call fcn.0040f430
mov esi, eax
push str.style
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x4b
call fcn.00406e00
push esi
mov edx, eax
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0xd0]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x2c]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x4e
call fcn.0040e330
lea ecx, [ebp - 0x2c]
call fcn.004065a0
lea ecx, [ebp - 0xd0]
call fcn.004065a0
lea ecx, [ebp - 0xb8]
call fcn.004065a0
lea ecx, [ebp - 0x54]
call fcn.004065a0
push 1
push str.__synced
push edi
call dword [sym.imp.rime.dll_RimeSetOption]
add esp, 0xc
lea ecx, [ebp - 0x148]
call fcn.00402230
lea ecx, [ebp - 0x1c8]
mov dword [ebp - method.boost::archive::detail::common_oarchive_class_boost::archive::text_woarchive_.virtual_0], vtable.boost::archive::basic_text_oarchive_class_boost::archive::text_woarchive_.0
call fcn.0049d9b0
lea ecx, [ebp - 0x1b0]
call fcn.004b04f0
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 3
call fcn.0040bfb0
cmp dword [ebp + 0x38], 0
je 0x40bc17
push 4
xor eax, eax
mov dword [ebp - 0x44], 0
push 0x52b414
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
call fcn.00406c50
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0x54]
push dword [ebp - 0x1d8]
push eax
push ecx
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.004185f0
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.004065a0
sub esp, 8
lea ecx, [ebp - 0x6c]
call fcn.00410ce0
push 0x100
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x50
push ecx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x88], eax
call fcn.004103c0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp + 0x38]
push eax
call fcn.00413b00
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00414a40
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0xa0]
push dword [ebp - 0x64]
sub dword [ebp - 0x60], 2
call fcn.00406e00
mov esi, eax
push str.json
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x52
call fcn.00406e00
push esi
mov edx, eax
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0xd0]
call fcn.004137f0
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x2c]
call fcn.00413710
add esp, 8
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x55
call fcn.0040e330
lea ecx, [ebp - 0x2c]
call fcn.004065a0
lea ecx, [ebp - 0xd0]
call fcn.004065a0
lea ecx, [ebp - 0xb8]
call fcn.004065a0
lea ecx, [ebp - 0xa0]
call fcn.004065a0
lea ecx, [ebp - 0x84]
call fcn.0040e460
mov byte [ebp - 4], 3
push dword [ebp - 0x64]
call fcn.004bffbc
push 1
push dword [ebp - 0x68]
call fcn.00481e07
add esp, 0xc
cmp dword [ebp - 0x1e0], 0
jne 0x40bc55
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push str.actionnoop_n
mov esi, dword [eax]
call fcn.00406e00
push eax
push esi
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 0x56
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0040e2e0
lea ecx, [ebp - 0x2c]
jmp 0x40bd24
push 0x52b448
lea ecx, [ebp - 0xa0]
call fcn.00406e00
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x57
push eax
sub esp, 0x18
xor ecx, ecx
mov eax, esp
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 0x1e4]
push eax
push dword [eax]
call fcn.00418960
add esp, 0x24
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x59
call fcn.004065a0
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0xb8]
push 0x52b44c
mov esi, dword [eax]
call fcn.00406e00
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x5a
push ecx
mov edx, eax
lea ecx, [ebp - 0xd0]
call fcn.00413790
push 0xa
mov edx, eax
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x2c]
call fcn.00413710
add esp, 8
push eax
push esi
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 0x5c
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0040e2e0
lea ecx, [ebp - 0x2c]
call fcn.004065a0
lea ecx, [ebp - 0xd0]
call fcn.004065a0
lea ecx, [ebp - 0xb8]
call fcn.004065a0
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.004065a0
push 2
xor eax, eax
mov dword [ebp - 0x44], 0
push 0x52b45c
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
call fcn.00406c50
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x5d
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0040e330
lea ecx, [ebp - 0x54]
call fcn.004065a0
lea eax, [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x5e
mov edx, dword [ebp + 0x30]
test edx, edx
je 0x40bd95
mov eax, dword [edx]
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, edx
mov eax, dword [eax]
call eax
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x5f
mov edi, dword [ebp - 0x1d4]
mov esi, dword [edi]
cmp esi, edi
je 0x40bdc9
test ecx, ecx
je 0x40bec1
mov edx, dword [ecx]
lea eax, [esi + 8]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp - 0x18]
test al, al
je 0x40be99
mov esi, dword [esi]
cmp esi, edi
jne 0x40bda5
test ecx, ecx
je 0x40bde5
mov edx, dword [ecx]
lea eax, [ebp - 0x3c]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x1c9], 1
mov eax, dword [edi]
mov dword [edi], edi
mov dword [ebp - 0x1d8], eax
mov dword [edi + 4], edi
cmp eax, edi
je 0x40be27
nop dword [eax]
mov esi, dword [eax]
push ecx
lea ecx, [eax + 8]
call fcn.00415620
push 0x20
push dword [ebp - 0x1d8]
call fcn.00481e07
add esp, 8
mov eax, esi
mov dword [ebp - 0x1d8], eax
cmp esi, edi
jne 0x40be00
push 0x20
push edi
call fcn.00406a80
add esp, 8
lea ecx, [ebp - 0x1e4]
call fcn.0040e3c0
mov ecx, dword [ebp + 0x30]
test ecx, ecx
je 0x40be5c
mov edx, dword [ecx]
lea eax, [ebp + 0xc]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp + 0x30], 0
mov esi, dword [ebp + 0x38]
test esi, esi
je 0x40be76
lea ecx, [esi + 0x10]
call fcn.0040e460
push 0x30
push esi
call fcn.00481e07
add esp, 8
mov al, byte [ebp - 0x1c9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00482225
mov esp, ebp
pop ebp
ret 0x34
test ecx, ecx
je 0x40beb5
mov edx, dword [ecx]
lea eax, [ebp - 0x3c]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x1c9], 0
jmp 0x40bdec
call fcn.004832f5
call fcn.004c022b
push str.list_T__too_long
call fcn.00483332
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
call fcn.004c022b
int3