Function at 0x46d010
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a1aca
mov eax, dword fs:[0]
push eax
sub esp, 0x2cc
mov eax, dword [0x4c6184]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x290]
mov edi, ecx
push eax
mov dword [ebp - 0x2cc], edi
call fcn.0042d950
xor esi, esi
mov dword [ebp - 4], esi
mov edx, dword [edi + 4]
lea ecx, [ebp - 0x20]
push ecx
push edx
mov byte [ebp - 0x1a8], 1
mov byte [ebp - 0x243], 0
mov word [ebp - 0x253], 0x101
mov byte [ebp - 0x254], 1
mov dword [ebp - 0x25c], 2
mov byte [ebp - 0x24f], 0
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
mov ebx, dword [sym.imp.USER32.dll_OffsetRect]
sub eax, 3
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x264], eax
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x268], 1
mov dword [ebp - 0x260], 0x12
cmp eax, 2
je 0x46d0ed
cmp eax, 3
je 0x46d0ed
cmp dword [edi + 0x38], esi
jne 0x46d0fa
push esi
push 0xfffffffffffffffe
lea eax, [ebp - 0x26c]
push eax
jmp 0x46d0f8
push 1
push 0xfffffffffffffff9
lea ecx, [ebp - 0x26c]
push ecx
call ebx
cmp byte [edi + 0x6a], 0
je 0x46ddab
lea edx, [ebp - 0x158]
push edx
lea ecx, [ebp - 0x290]
call fcn.0046f710
lea eax, [ebp - 0x294]
push eax
mov ecx, 0x4adf9c
mov byte [ebp - 4], 1
call fcn.0041bf30
lea eax, [ebp - 0x294]
lea edi, [ebp - 0x154]
mov byte [ebp - 4], 2
call fcn.00417130
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x294]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46d166
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x98
mov dword [ebp - 0x150], 0x1f40
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 3
cmp eax, esi
je 0x46d195
push eax
call fcn.004422e0
mov esi, eax
jmp 0x46d197
xor esi, esi
mov byte [ebp - 4], 1
push esi
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x2a0], esi
call fcn.00461d50
push esi
lea ecx, [ebp - 0x2a0]
push esi
push ecx
call fcn.00418230
add esp, 0xc
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x2a0]
mov byte [edx + 0x6a], 1
mov eax, dword [ebp - 0x2a0]
mov byte [eax + 0x69], 1
mov ecx, dword [ebp - 0x2a0]
mov byte [ecx + 0x68], 1
mov edx, dword [ebp - 0x2a0]
mov byte [edx + 0x85], 0
mov eax, dword [ebp - 0x2a0]
push 0x98
mov byte [eax + 0x84], 0
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x46d226
mov ecx, dword [ebp - 0x2a0]
push ecx
push eax
call fcn.00442de0
mov esi, eax
jmp 0x46d228
xor esi, esi
mov byte [ebp - 4], 4
push esi
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x2b8], esi
call fcn.00461d50
push esi
lea edx, [ebp - 0x2b8]
push esi
push edx
call fcn.00418230
add esp, 0xc
push 0x98
mov byte [ebp - 4], 6
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x46d27f
mov ecx, dword [ebp - 0x2a0]
push ecx
push eax
call fcn.00442de0
mov esi, eax
jmp 0x46d281
xor esi, esi
mov byte [ebp - 4], 6
push esi
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x2b0], esi
call fcn.00461d50
push esi
lea edx, [ebp - 0x2b0]
push esi
push edx
call fcn.00418230
add esp, 0xc
mov eax, dword [ebp - 0x2cc]
mov byte [ebp - 4], 8
cmp byte [eax + 0x68], 0
jne 0x46d454
cmp byte [eax + 0x69], 0
jne 0x46d454
cmp dword [eax + 0x3c], 2
je 0x46d39f
push 0
push 2
lea eax, [ebp - 0x26c]
push eax
call ebx
push 0
push 2
lea ecx, [ebp - 0x134]
push ecx
call ebx
mov eax, dword [0x4cfcc4]
push 1
push str.close_alone2
lea edx, [ebp - 0x298]
push edx
push eax
call fcn.0041d6b0
mov byte [ebp - 4], 0xc
mov edi, dword [ebp - 0x2a0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 8
call fcn.0041b080
mov edx, dword [0x4cfcc4]
push 1
push str.close_alone2_hot
lea ecx, [ebp - 0x2c0]
push ecx
push edx
call fcn.0041d6b0
mov byte [ebp - 4], 0xd
mov edi, dword [ebp - 0x2b8]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 8
call fcn.0041b080
mov ecx, dword [0x4cfcc4]
push 1
push str.close_alone2_pushed
lea eax, [ebp - 0x298]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0xe
mov edi, dword [ebp - 0x2b0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 8
call fcn.0041b080
jmp 0x46d585
mov eax, dword [0x4cfcc4]
push 1
push str.close_alone
lea edx, [ebp - 0x2c0]
push edx
push eax
call fcn.0041d6b0
mov byte [ebp - 4], 0xf
mov edi, dword [ebp - 0x2a0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 8
call fcn.0041b080
mov edx, dword [0x4cfcc4]
push 1
push str.close_alone_hot
lea ecx, [ebp - 0x298]
push ecx
push edx
call fcn.0041d6b0
mov byte [ebp - 4], 0x10
mov edi, dword [ebp - 0x2b8]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 8
call fcn.0041b080
mov ecx, dword [0x4cfcc4]
push 1
push str.close_alone_pushed
lea eax, [ebp - 0x2c0]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0x11
mov edi, dword [ebp - 0x2b0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 8
call fcn.0041b080
jmp 0x46d585
mov eax, dword [0x4cfcc4]
push 1
push str.close_right
lea edx, [ebp - 0x2c0]
push edx
push eax
call fcn.0041d6b0
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x2a0]
add edi, 0x7c
call fcn.0042cba0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x46d4b9
mov esi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46d4b9
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46d4b9
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov ecx, dword [0x4cfcc4]
push 1
push str.close_right_hot
lea eax, [ebp - 0x298]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0xa
mov edi, dword [ebp - 0x2b8]
add edi, 0x7c
call fcn.0042cba0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x294]
test eax, eax
je 0x46d51f
mov esi, eax
add eax, 4
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x46d51f
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46d51f
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov edx, dword [0x4cfcc4]
push 1
push str.close_right_pushed
lea ecx, [ebp - 0x2c0]
push ecx
push edx
call fcn.0041d6b0
mov byte [ebp - 4], 0xb
mov edi, dword [ebp - 0x2b0]
add edi, 0x7c
call fcn.0042cba0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x46d585
mov esi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46d585
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46d585
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov eax, dword [ebp - 0x2a0]
cmp dword [eax + 0x7c], 0
je 0x46d6ac
mov edx, dword [eax + 0x7c]
fld dword [0x4b0570]
sub esp, 0x10
mov ecx, esp
fst dword [esp + 0xc]
mov dword [ecx], edx
fstp dword [esp + 8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x294], esp
mov dword [ecx + 4], eax
test eax, eax
je 0x46d5cc
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
call fcn.0041abe0
mov edx, dword [ebp - 0x2a0]
mov esi, dword [edx + 0x7c]
mov ecx, dword [esi + 4]
add esp, 0x10
lea eax, [ebp - 0x294]
push eax
push ecx
mov dword [ebp - 0x294], 0
call dword [sym.imp.gdiplus.dll_GdipGetImageWidth]
test eax, eax
je 0x46d5ff
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x294]
mov ebx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], ebx
test ebx, ebx
je 0x46d63f
lea eax, [ebx + 4]
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 4]
lea edi, [eax + 4]
push edx
push eax
lea esi, [ebp - 0x298]
call fcn.00438300
mov ecx, 0x1ffffffe
sub ecx, dword [ebp - 0x4c]
cmp ecx, 1
jae 0x46d670
push str.list_T__too_long
call fcn.0048680b
inc dword [ebp - 0x4c]
mov dword [edi], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov byte [ebp - 4], 8
test ebx, ebx
je 0x46d6ac
lea edx, [ebx + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x46d6ac
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
lea ecx, [ebx + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46d6ac
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, ebx
call edx
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x46d6d1
push eax
call fcn.004422e0
mov esi, eax
jmp 0x46d6d3
xor esi, esi
mov byte [ebp - 4], 8
push esi
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 0x2a8], esi
call fcn.00461d50
push esi
lea eax, [ebp - 0x2a8]
push esi
push eax
call fcn.00418230
add esp, 0xc
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x2a8]
mov byte [ecx + 0x6a], 1
mov edx, dword [ebp - 0x2a8]
mov byte [edx + 0x69], 1
mov eax, dword [ebp - 0x2a8]
mov byte [eax + 0x68], 1
mov ecx, dword [ebp - 0x2a8]
mov dword [ecx + 0x90], 0x90
mov eax, dword [ebp - 0x2a0]
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov ecx, dword [ebp - 0x2a8]
test eax, eax
je 0x46d751
lea esi, [eax + 4]
mov edi, 1
lock xadd dword [esi], edi
mov dword [ecx + 0x7c], edx
mov esi, dword [ecx + 0x80]
mov dword [ecx + 0x80], eax
test esi, esi
je 0x46d78e
lea edx, [esi + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x46d78e
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46d78e
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov eax, dword [ebp - 0x2a8]
mov byte [eax + 0x48], 0
mov ecx, dword [ebp - 0x2a8]
mov byte [ecx + 0x85], 0
mov edx, dword [ebp - 0x2a8]
mov byte [edx + 0x84], 0
mov ebx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], ebx
test ebx, ebx
je 0x46d7da
lea ecx, [ebx + 4]
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 4]
lea edi, [eax + 4]
push ecx
push eax
lea esi, [ebp - 0x298]
call fcn.00438300
mov edx, 0x1ffffffe
sub edx, dword [ebp - 0x4c]
cmp edx, 1
jae 0x46d80b
push str.list_T__too_long
call fcn.0048680b
inc dword [ebp - 0x4c]
mov dword [edi], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov byte [ebp - 4], 0x14
test ebx, ebx
je 0x46d847
lea eax, [ebx + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46d847
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
lea ecx, [ebx + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46d847
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, ebx
call edx
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x46d871
mov ecx, dword [ebp - 0x2a0]
push ecx
push eax
call fcn.00442de0
jmp 0x46d873
xor eax, eax
lea edi, [ebp - 0x2a0]
mov byte [ebp - 4], 0x14
call fcn.0045f5d0
mov edx, dword [ebp - 0x2a0]
cmp dword [edx + 0x7c], 0
je 0x46d96b
mov eax, dword [ebp - 0x2b8]
cmp dword [eax + 0x7c], 0
je 0x46d96b
mov edx, dword [eax + 0x7c]
fld dword [0x4b0570]
sub esp, 0x10
mov ecx, esp
fst dword [esp + 0xc]
mov dword [ecx], edx
fstp dword [esp + 8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x294], esp
mov dword [ecx + 4], eax
test eax, eax
je 0x46d8d9
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
call fcn.0041abe0
mov eax, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x2b8]
add esp, 0x10
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46d909
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x44]
mov byte [ebp - 4], 0x17
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x14
call fcn.0046a660
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46d94e
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x44]
mov byte [ebp - 4], 0x18
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x14
call fcn.0046a660
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x46d995
mov edx, dword [ebp - 0x2a0]
push edx
push eax
call fcn.00442de0
jmp 0x46d997
xor eax, eax
lea edi, [ebp - 0x2a0]
mov byte [ebp - 4], 0x14
call fcn.0045f5d0
mov eax, dword [ebp - 0x2a0]
cmp dword [eax + 0x7c], 0
je 0x46dad2
mov eax, dword [ebp - 0x2b0]
cmp dword [eax + 0x7c], 0
je 0x46dad2
mov edx, dword [eax + 0x7c]
fld dword [0x4b0570]
sub esp, 0x10
mov ecx, esp
fst dword [esp + 0xc]
mov dword [ecx], edx
fstp dword [esp + 8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x294], esp
mov dword [ecx + 4], eax
test eax, eax
je 0x46d9fd
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
call fcn.0041abe0
mov edx, dword [ebp - 0x2b0]
mov byte [edx + 0x87], 1
mov eax, dword [ebp - 0x2b0]
mov byte [eax + 0x88], 1
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [eax + 0xe0]
mov edx, dword [ebp - 0x2b0]
add esp, 0x10
lea ebx, [eax + 0x190]
lea esi, [ebp - 0x2b0]
mov dword [edx + 0x8c], ecx
call fcn.0045ecb0
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46da70
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x38]
mov byte [ebp - 4], 0x1a
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x14
call fcn.0046a660
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46dab5
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x38]
mov byte [ebp - 4], 0x1b
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x14
call fcn.0046a660
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x46dafc
mov edx, dword [ebp - 0x2a8]
push edx
push eax
call fcn.00442de0
jmp 0x46dafe
xor eax, eax
lea edi, [ebp - 0x2a8]
mov byte [ebp - 4], 0x14
call fcn.0045f5d0
mov eax, dword [ebp - 0x2a8]
cmp dword [eax + 0x7c], 0
je 0x46dbb6
mov byte [eax + 0x48], 1
mov ebx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], ebx
test ebx, ebx
je 0x46db49
lea ecx, [ebx + 4]
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
lea edi, [eax + 4]
push ecx
push eax
lea esi, [ebp - 0x298]
call fcn.00438300
mov edx, 0x1ffffffe
sub edx, dword [ebp - 0x28]
cmp edx, 1
jae 0x46db7a
push str.list_T__too_long
call fcn.0048680b
inc dword [ebp - 0x28]
mov dword [edi], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov byte [ebp - 4], 0x14
test ebx, ebx
je 0x46dbb6
lea eax, [ebx + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46dbb6
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
lea ecx, [ebx + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46dbb6
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, ebx
call edx
push 0x1ec
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x46dbdb
push eax
call fcn.00429150
mov esi, eax
jmp 0x46dbdd
xor esi, esi
mov byte [ebp - 4], 0x14
push esi
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x2c8], esi
call fcn.00478d30
push esi
lea eax, [ebp - 0x2c8]
push esi
push eax
call fcn.00418230
add esp, 0xc
mov byte [ebp - 4], 0x1f
mov esi, dword [ebp - 0x2c8]
lea eax, [ebp - 0x158]
call fcn.00429530
test al, al
je 0x46dc7b
mov esi, dword [ebp - 0x2cc]
lea ecx, [ebp - 0x154]
push ecx
lea edi, [esi + 0x208]
call fcn.00475f00
mov edi, eax
lea eax, [ebp - 0x2c8]
call fcn.0042cba0
mov edx, dword [ebp - 0x2c8]
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov ecx, dword [ebp - 0x2c4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x294], esp
test eax, eax
je 0x46dc74
add eax, 4
mov edx, 1
lock xadd dword [eax], edx
mov ecx, esi
call fcn.0046a9c0
mov byte [ebp - 4], 0x14
mov esi, dword [ebp - 0x2c4]
test esi, esi
je 0x46dcb3
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46dcb3
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46dcb3
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 8
mov esi, dword [ebp - 0x2a4]
test esi, esi
je 0x46dceb
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46dceb
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46dceb
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x2ac]
test esi, esi
je 0x46dd23
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46dd23
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46dd23
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x2b4]
test esi, esi
je 0x46dd5b
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46dd5b
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46dd5b
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x29c]
test esi, esi
je 0x46dd93
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46dd93
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46dd93
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [ebp - 0x158]
push eax
mov byte [ebp - 4], 0
call fcn.00429250
mov edi, dword [ebp - 0x2cc]
xor esi, esi
cmp byte [edi + 0x69], 0
je 0x46eaf9
lea ecx, [ebp - 0x158]
push ecx
lea ecx, [ebp - 0x290]
call fcn.0046f710
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0x26c]
lea eax, [ebp - 0x294]
push eax
mov ecx, str.BaseBtnMaximise
mov dword [ebp - 0x12c], edx
call fcn.0041bf30
lea eax, [ebp - 0x294]
lea edi, [ebp - 0x154]
mov byte [ebp - 4], 0x21
call fcn.00417130
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x294]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46de23
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x98
mov dword [ebp - 0x150], 0x1f41
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x22
cmp eax, esi
je 0x46de52
push eax
call fcn.004422e0
mov esi, eax
jmp 0x46de54
xor esi, esi
mov byte [ebp - 4], 0x20
push esi
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x2a0], esi
call fcn.00461d50
push esi
lea ecx, [ebp - 0x2a0]
push esi
push ecx
call fcn.00418230
add esp, 0xc
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x2a0]
mov byte [edx + 0x6a], 1
mov eax, dword [ebp - 0x2a0]
mov byte [eax + 0x69], 1
mov ecx, dword [ebp - 0x2a0]
mov byte [ecx + 0x68], 1
mov edx, dword [ebp - 0x2a0]
mov byte [edx + 0x85], 0
mov eax, dword [ebp - 0x2a0]
push 0x98
mov byte [eax + 0x84], 0
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x24
test eax, eax
je 0x46dee3
mov ecx, dword [ebp - 0x2a0]
push ecx
push eax
call fcn.00442de0
mov esi, eax
jmp 0x46dee5
xor esi, esi
mov byte [ebp - 4], 0x23
push esi
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x2b8], esi
call fcn.00461d50
push esi
lea edx, [ebp - 0x2b8]
push esi
push edx
call fcn.00418230
add esp, 0xc
push 0x98
mov byte [ebp - 4], 0x25
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x26
test eax, eax
je 0x46df3c
mov ecx, dword [ebp - 0x2a0]
push ecx
push eax
call fcn.00442de0
mov esi, eax
jmp 0x46df3e
xor esi, esi
mov byte [ebp - 4], 0x25
push esi
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x2b0], esi
call fcn.00461d50
push esi
lea edx, [ebp - 0x2b0]
push esi
push edx
call fcn.00418230
add esp, 0xc
mov ecx, dword [ebp - 0x2cc]
mov byte [ebp - 4], 0x27
mov al, byte [ecx + 0x6a]
test al, al
je 0x46e17b
cmp byte [ecx + 0x68], 0
je 0x46e030
mov ecx, dword [0x4cfcc4]
push 1
push str.max_middle
lea eax, [ebp - 0x2c0]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0x28
mov edi, dword [ebp - 0x2a0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x27
call fcn.0041b080
mov eax, dword [0x4cfcc4]
push 1
push str.max_middle_hot
lea edx, [ebp - 0x298]
push edx
push eax
call fcn.0041d6b0
mov byte [ebp - 4], 0x29
mov edi, dword [ebp - 0x2b8]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0x27
call fcn.0041b080
mov edx, dword [0x4cfcc4]
push 1
push str.max_middle_pushed
lea ecx, [ebp - 0x2c0]
push ecx
push edx
call fcn.0041d6b0
mov byte [ebp - 4], 0x2a
mov edi, dword [ebp - 0x2b0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2c0]
jmp 0x46e2ca
test al, al
je 0x46e17b
mov ecx, dword [0x4cfcc4]
push 1
push str.max_left
lea eax, [ebp - 0x2c0]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0x2b
mov edi, dword [ebp - 0x2a0]
add edi, 0x7c
call fcn.0042cba0
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x46e09e
mov esi, eax
add eax, 4
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x46e09e
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46e09e
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov edx, dword [0x4cfcc4]
push 1
push str.max_left_hot
lea ecx, [ebp - 0x298]
push ecx
push edx
call fcn.0041d6b0
mov byte [ebp - 4], 0x2c
mov edi, dword [ebp - 0x2b8]
add edi, 0x7c
call fcn.0042cba0
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x294]
test eax, eax
je 0x46e104
mov esi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46e104
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46e104
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov ecx, dword [0x4cfcc4]
push 1
push str.max_left_pushed
lea eax, [ebp - 0x2c0]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0x2d
mov edi, dword [ebp - 0x2b0]
add edi, 0x7c
call fcn.0042cba0
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x46e2d3
mov esi, eax
add eax, 4
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x46e2d3
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46e2d3
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
jmp 0x46e2d3
cmp byte [ecx + 0x68], 0
mov edx, dword [0x4cfcc4]
push 1
lea ecx, [ebp - 0x2c0]
je 0x46e231
push str.max_right
push ecx
push edx
call fcn.0041d6b0
mov byte [ebp - 4], 0x2e
mov edi, dword [ebp - 0x2a0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x27
call fcn.0041b080
mov ecx, dword [0x4cfcc4]
push 1
push str.max_right_hot
lea eax, [ebp - 0x298]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0x2f
mov edi, dword [ebp - 0x2b8]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0x27
call fcn.0041b080
mov eax, dword [0x4cfcc4]
push 1
push str.max_right_pushed
lea edx, [ebp - 0x2c0]
push edx
push eax
call fcn.0041d6b0
mov byte [ebp - 4], 0x30
mov edi, dword [ebp - 0x2b0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2c0]
jmp 0x46e2ca
push str.max_alone
push ecx
push edx
call fcn.0041d6b0
mov byte [ebp - 4], 0x31
mov edi, dword [ebp - 0x2a0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x27
call fcn.0041b080
mov ecx, dword [0x4cfcc4]
push 1
push str.max_alone_hot
lea eax, [ebp - 0x298]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0x32
mov edi, dword [ebp - 0x2b8]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0x27
call fcn.0041b080
mov eax, dword [0x4cfcc4]
push 1
push str.max_alone_pushed
lea edx, [ebp - 0x2d4]
push edx
push eax
call fcn.0041d6b0
mov byte [ebp - 4], 0x33
mov edi, dword [ebp - 0x2b0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0x27
call fcn.0041b080
mov eax, dword [ebp - 0x2a0]
cmp dword [eax + 0x7c], 0
je 0x46e3fa
mov edx, dword [eax + 0x7c]
fld dword [0x4b0570]
sub esp, 0x10
mov ecx, esp
fst dword [esp + 0xc]
mov dword [ecx], edx
fstp dword [esp + 8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x294], esp
mov dword [ecx + 4], eax
test eax, eax
je 0x46e31a
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
call fcn.0041abe0
mov edx, dword [ebp - 0x2a0]
mov esi, dword [edx + 0x7c]
mov ecx, dword [esi + 4]
add esp, 0x10
lea eax, [ebp - 0x294]
push eax
push ecx
mov dword [ebp - 0x294], 0
call dword [sym.imp.gdiplus.dll_GdipGetImageWidth]
test eax, eax
je 0x46e34d
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x294]
mov ebx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], ebx
test ebx, ebx
je 0x46e38d
lea eax, [ebx + 4]
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 4]
lea edi, [eax + 4]
push edx
push eax
lea esi, [ebp - 0x298]
call fcn.00438300
mov ecx, 0x1ffffffe
sub ecx, dword [ebp - 0x4c]
cmp ecx, 1
jae 0x46e3be
push str.list_T__too_long
call fcn.0048680b
inc dword [ebp - 0x4c]
mov dword [edi], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov byte [ebp - 4], 0x27
test ebx, ebx
je 0x46e3fa
lea edx, [ebx + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x46e3fa
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
lea ecx, [ebx + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46e3fa
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, ebx
call edx
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x35
test eax, eax
je 0x46e41f
push eax
call fcn.004422e0
mov esi, eax
jmp 0x46e421
xor esi, esi
mov byte [ebp - 4], 0x27
push esi
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 0x2a8], esi
call fcn.00461d50
push esi
lea eax, [ebp - 0x2a8]
push esi
push eax
call fcn.00418230
add esp, 0xc
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x2a8]
mov byte [ecx + 0x6a], 1
mov edx, dword [ebp - 0x2a8]
mov byte [edx + 0x69], 1
mov eax, dword [ebp - 0x2a8]
mov byte [eax + 0x68], 1
mov ecx, dword [ebp - 0x2a8]
mov dword [ecx + 0x90], 0x90
mov eax, dword [ebp - 0x2a0]
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov ecx, dword [ebp - 0x2a8]
test eax, eax
je 0x46e49f
lea esi, [eax + 4]
mov edi, 1
lock xadd dword [esi], edi
mov dword [ecx + 0x7c], edx
mov esi, dword [ecx + 0x80]
mov dword [ecx + 0x80], eax
test esi, esi
je 0x46e4dc
lea edx, [esi + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x46e4dc
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46e4dc
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov eax, dword [ebp - 0x2a8]
mov byte [eax + 0x48], 0
mov ecx, dword [ebp - 0x2a8]
mov byte [ecx + 0x85], 0
mov edx, dword [ebp - 0x2a8]
mov byte [edx + 0x84], 0
mov ebx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], ebx
test ebx, ebx
je 0x46e528
lea ecx, [ebx + 4]
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 4]
lea edi, [eax + 4]
push ecx
push eax
lea esi, [ebp - 0x298]
call fcn.00438300
mov edx, 0x1ffffffe
sub edx, dword [ebp - 0x4c]
cmp edx, 1
jae 0x46e559
push str.list_T__too_long
call fcn.0048680b
inc dword [ebp - 0x4c]
mov dword [edi], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov byte [ebp - 4], 0x36
test ebx, ebx
je 0x46e595
lea eax, [ebx + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46e595
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
lea ecx, [ebx + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46e595
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, ebx
call edx
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x38
test eax, eax
je 0x46e5bf
mov ecx, dword [ebp - 0x2a0]
push ecx
push eax
call fcn.00442de0
jmp 0x46e5c1
xor eax, eax
lea edi, [ebp - 0x2a0]
mov byte [ebp - 4], 0x36
call fcn.0045f5d0
mov edx, dword [ebp - 0x2a0]
cmp dword [edx + 0x7c], 0
je 0x46e6b9
mov eax, dword [ebp - 0x2b8]
cmp dword [eax + 0x7c], 0
je 0x46e6b9
mov edx, dword [eax + 0x7c]
fld dword [0x4b0570]
sub esp, 0x10
mov ecx, esp
fst dword [esp + 0xc]
mov dword [ecx], edx
fstp dword [esp + 8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x294], esp
mov dword [ecx + 4], eax
test eax, eax
je 0x46e627
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
call fcn.0041abe0
mov eax, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x2b8]
add esp, 0x10
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46e657
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x44]
mov byte [ebp - 4], 0x39
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x36
call fcn.0046a660
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46e69c
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x44]
mov byte [ebp - 4], 0x3a
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x36
call fcn.0046a660
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x3b
test eax, eax
je 0x46e6e3
mov edx, dword [ebp - 0x2a0]
push edx
push eax
call fcn.00442de0
jmp 0x46e6e5
xor eax, eax
lea edi, [ebp - 0x2a0]
mov byte [ebp - 4], 0x36
call fcn.0045f5d0
mov eax, dword [ebp - 0x2a0]
cmp dword [eax + 0x7c], 0
je 0x46e820
mov eax, dword [ebp - 0x2b0]
cmp dword [eax + 0x7c], 0
je 0x46e820
mov edx, dword [eax + 0x7c]
fld dword [0x4b0570]
sub esp, 0x10
mov ecx, esp
fst dword [esp + 0xc]
mov dword [ecx], edx
fstp dword [esp + 8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x294], esp
mov dword [ecx + 4], eax
test eax, eax
je 0x46e74b
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
call fcn.0041abe0
mov edx, dword [ebp - 0x2b0]
mov byte [edx + 0x87], 1
mov eax, dword [ebp - 0x2b0]
mov byte [eax + 0x88], 1
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [eax + 0xe0]
mov edx, dword [ebp - 0x2b0]
add esp, 0x10
lea ebx, [eax + 0x190]
lea esi, [ebp - 0x2b0]
mov dword [edx + 0x8c], ecx
call fcn.0045ecb0
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46e7be
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x38]
mov byte [ebp - 4], 0x3c
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x36
call fcn.0046a660
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46e803
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x38]
mov byte [ebp - 4], 0x3d
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x36
call fcn.0046a660
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x3e
test eax, eax
je 0x46e84a
mov edx, dword [ebp - 0x2a8]
push edx
push eax
call fcn.00442de0
jmp 0x46e84c
xor eax, eax
lea edi, [ebp - 0x2a8]
mov byte [ebp - 4], 0x36
call fcn.0045f5d0
mov eax, dword [ebp - 0x2a8]
cmp dword [eax + 0x7c], 0
je 0x46e904
mov byte [eax + 0x48], 1
mov ebx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], ebx
test ebx, ebx
je 0x46e897
lea ecx, [ebx + 4]
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
lea edi, [eax + 4]
push ecx
push eax
lea esi, [ebp - 0x298]
call fcn.00438300
mov edx, 0x1ffffffe
sub edx, dword [ebp - 0x28]
cmp edx, 1
jae 0x46e8c8
push str.list_T__too_long
call fcn.0048680b
inc dword [ebp - 0x28]
mov dword [edi], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov byte [ebp - 4], 0x36
test ebx, ebx
je 0x46e904
lea eax, [ebx + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46e904
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
lea ecx, [ebx + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46e904
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, ebx
call edx
push 0x1ec
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x40
test eax, eax
je 0x46e929
push eax
call fcn.00429150
mov esi, eax
jmp 0x46e92b
xor esi, esi
mov byte [ebp - 4], 0x36
push esi
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x2c8], esi
call fcn.00478d30
push esi
lea eax, [ebp - 0x2c8]
push esi
push eax
call fcn.00418230
add esp, 0xc
mov byte [ebp - 4], 0x41
mov esi, dword [ebp - 0x2c8]
lea eax, [ebp - 0x158]
call fcn.00429530
test al, al
je 0x46e9c9
mov esi, dword [ebp - 0x2cc]
lea ecx, [ebp - 0x154]
push ecx
lea edi, [esi + 0x208]
call fcn.00475f00
mov edi, eax
lea eax, [ebp - 0x2c8]
call fcn.0042cba0
mov edx, dword [ebp - 0x2c8]
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov ecx, dword [ebp - 0x2c4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x294], esp
test eax, eax
je 0x46e9c2
add eax, 4
mov edx, 1
lock xadd dword [eax], edx
mov ecx, esi
call fcn.0046a9c0
mov byte [ebp - 4], 0x36
mov esi, dword [ebp - 0x2c4]
test esi, esi
je 0x46ea01
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46ea01
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46ea01
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x27
mov esi, dword [ebp - 0x2a4]
test esi, esi
je 0x46ea39
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46ea39
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46ea39
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x25
mov esi, dword [ebp - 0x2ac]
test esi, esi
je 0x46ea71
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46ea71
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46ea71
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x23
mov esi, dword [ebp - 0x2b4]
test esi, esi
je 0x46eaa9
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46eaa9
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46eaa9
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x20
mov esi, dword [ebp - 0x29c]
test esi, esi
je 0x46eae1
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46eae1
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46eae1
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [ebp - 0x158]
push eax
mov byte [ebp - 4], 0
call fcn.00429250
mov edi, dword [ebp - 0x2cc]
xor esi, esi
cmp byte [edi + 0x68], 0
je 0x46f6d6
lea ecx, [ebp - 0x158]
push ecx
lea ecx, [ebp - 0x290]
call fcn.0046f710
mov byte [ebp - 4], 0x42
mov edx, dword [ebp - 0x26c]
lea eax, [ebp - 0x294]
push eax
mov ecx, str.BaseBtnMinimise
mov dword [ebp - 0x12c], edx
call fcn.0041bf30
lea eax, [ebp - 0x294]
lea edi, [ebp - 0x154]
mov byte [ebp - 4], 0x43
call fcn.00417130
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x294]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46eb71
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x98
mov dword [ebp - 0x150], 0x1f42
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x44
cmp eax, esi
je 0x46eba0
push eax
call fcn.004422e0
mov esi, eax
jmp 0x46eba2
xor esi, esi
mov byte [ebp - 4], 0x42
push esi
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x2a0], esi
call fcn.00461d50
push esi
lea ecx, [ebp - 0x2a0]
push esi
push ecx
call fcn.00418230
add esp, 0xc
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x2a0]
mov byte [edx + 0x6a], 1
mov eax, dword [ebp - 0x2a0]
mov byte [eax + 0x69], 1
mov ecx, dword [ebp - 0x2a0]
mov byte [ecx + 0x68], 1
mov edx, dword [ebp - 0x2a0]
mov byte [edx + 0x85], 0
mov eax, dword [ebp - 0x2a0]
push 0x98
mov byte [eax + 0x84], 0
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x46
test eax, eax
je 0x46ec31
mov ecx, dword [ebp - 0x2a0]
push ecx
push eax
call fcn.00442de0
mov esi, eax
jmp 0x46ec33
xor esi, esi
mov byte [ebp - 4], 0x45
push esi
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x2b8], esi
call fcn.00461d50
push esi
lea edx, [ebp - 0x2b8]
push esi
push edx
call fcn.00418230
add esp, 0xc
push 0x98
mov byte [ebp - 4], 0x47
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x48
test eax, eax
je 0x46ec8a
mov ecx, dword [ebp - 0x2a0]
push ecx
push eax
call fcn.00442de0
mov esi, eax
jmp 0x46ec8c
xor esi, esi
mov byte [ebp - 4], 0x47
push esi
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x2b0], esi
call fcn.00461d50
push esi
lea edx, [ebp - 0x2b0]
push esi
push edx
call fcn.00418230
add esp, 0xc
mov eax, dword [ebp - 0x2cc]
mov byte [ebp - 4], 0x49
cmp byte [eax + 0x6a], 0
jne 0x46ed86
cmp byte [eax + 0x69], 0
jne 0x46ed86
mov ecx, dword [0x4cfcc4]
push 1
push str.min_alone
lea eax, [ebp - 0x2d4]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0x4d
mov edi, dword [ebp - 0x2a0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0x49
call fcn.0041b080
mov eax, dword [0x4cfcc4]
push 1
push str.max_alone_hot
lea edx, [ebp - 0x2c0]
push edx
push eax
call fcn.0041d6b0
mov byte [ebp - 4], 0x4e
mov edi, dword [ebp - 0x2b8]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x49
call fcn.0041b080
mov edx, dword [0x4cfcc4]
push 1
push str.max_alone_pushed
lea ecx, [ebp - 0x298]
push ecx
push edx
call fcn.0041d6b0
mov byte [ebp - 4], 0x4f
mov edi, dword [ebp - 0x2b0]
add edi, 0x7c
call fcn.0042cba0
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0x49
call fcn.0041b080
jmp 0x46eeb8
mov ecx, dword [0x4cfcc4]
push 1
push str.min_left
lea eax, [ebp - 0x2d4]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0x4a
mov edi, dword [ebp - 0x2a0]
add edi, 0x7c
call fcn.0042cba0
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x2d0]
test eax, eax
je 0x46edec
mov esi, eax
add eax, 4
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x46edec
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46edec
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov edx, dword [0x4cfcc4]
push 1
push str.max_left_hot
lea ecx, [ebp - 0x2c0]
push ecx
push edx
call fcn.0041d6b0
mov byte [ebp - 4], 0x4b
mov edi, dword [ebp - 0x2b8]
add edi, 0x7c
call fcn.0042cba0
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x46ee52
mov esi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46ee52
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46ee52
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov ecx, dword [0x4cfcc4]
push 1
push str.max_left_pushed
lea eax, [ebp - 0x2d4]
push eax
push ecx
call fcn.0041d6b0
mov byte [ebp - 4], 0x4c
mov edi, dword [ebp - 0x2b0]
add edi, 0x7c
call fcn.0042cba0
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x2d0]
test eax, eax
je 0x46eeb8
mov esi, eax
add eax, 4
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x46eeb8
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46eeb8
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov eax, dword [ebp - 0x2a0]
cmp dword [eax + 0x7c], 0
je 0x46efdf
mov edx, dword [eax + 0x7c]
fld dword [0x4b0570]
sub esp, 0x10
mov ecx, esp
fst dword [esp + 0xc]
mov dword [ecx], edx
fstp dword [esp + 8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x294], esp
mov dword [ecx + 4], eax
test eax, eax
je 0x46eeff
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
call fcn.0041abe0
mov edx, dword [ebp - 0x2a0]
mov esi, dword [edx + 0x7c]
mov ecx, dword [esi + 4]
add esp, 0x10
lea eax, [ebp - 0x294]
push eax
push ecx
mov dword [ebp - 0x294], 0
call dword [sym.imp.gdiplus.dll_GdipGetImageWidth]
test eax, eax
je 0x46ef32
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x294]
mov ebx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], ebx
test ebx, ebx
je 0x46ef72
lea eax, [ebx + 4]
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 4]
lea edi, [eax + 4]
push edx
push eax
lea esi, [ebp - 0x298]
call fcn.00438300
mov ecx, 0x1ffffffe
sub ecx, dword [ebp - 0x4c]
cmp ecx, 1
jae 0x46efa3
push str.list_T__too_long
call fcn.0048680b
inc dword [ebp - 0x4c]
mov dword [edi], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov byte [ebp - 4], 0x49
test ebx, ebx
je 0x46efdf
lea edx, [ebx + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x46efdf
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
lea ecx, [ebx + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46efdf
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, ebx
call edx
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x51
test eax, eax
je 0x46f004
push eax
call fcn.004422e0
mov esi, eax
jmp 0x46f006
xor esi, esi
mov byte [ebp - 4], 0x49
push esi
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 0x2a8], esi
call fcn.00461d50
push esi
lea eax, [ebp - 0x2a8]
push esi
push eax
call fcn.00418230
add esp, 0xc
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x2a8]
mov byte [ecx + 0x6a], 1
mov edx, dword [ebp - 0x2a8]
mov byte [edx + 0x69], 1
mov eax, dword [ebp - 0x2a8]
mov byte [eax + 0x68], 1
mov ecx, dword [ebp - 0x2a8]
mov dword [ecx + 0x90], 0x90
mov eax, dword [ebp - 0x2a0]
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov ecx, dword [ebp - 0x2a8]
test eax, eax
je 0x46f084
lea esi, [eax + 4]
mov edi, 1
lock xadd dword [esi], edi
mov dword [ecx + 0x7c], edx
mov esi, dword [ecx + 0x80]
mov dword [ecx + 0x80], eax
test esi, esi
je 0x46f0c1
lea edx, [esi + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x46f0c1
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46f0c1
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov eax, dword [ebp - 0x2a8]
mov byte [eax + 0x48], 0
mov ecx, dword [ebp - 0x2a8]
mov byte [ecx + 0x85], 0
mov edx, dword [ebp - 0x2a8]
mov byte [edx + 0x84], 0
mov ebx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], ebx
test ebx, ebx
je 0x46f10d
lea ecx, [ebx + 4]
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 4]
lea edi, [eax + 4]
push ecx
push eax
lea esi, [ebp - 0x298]
call fcn.00438300
mov edx, 0x1ffffffe
sub edx, dword [ebp - 0x4c]
cmp edx, 1
jae 0x46f13e
push str.list_T__too_long
call fcn.0048680b
inc dword [ebp - 0x4c]
mov dword [edi], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov byte [ebp - 4], 0x52
test ebx, ebx
je 0x46f17a
lea eax, [ebx + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46f17a
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
lea ecx, [ebx + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46f17a
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, ebx
call edx
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x54
test eax, eax
je 0x46f1a4
mov ecx, dword [ebp - 0x2a0]
push ecx
push eax
call fcn.00442de0
jmp 0x46f1a6
xor eax, eax
lea edi, [ebp - 0x2a0]
mov byte [ebp - 4], 0x52
call fcn.0045f5d0
mov edx, dword [ebp - 0x2a0]
cmp dword [edx + 0x7c], 0
je 0x46f29e
mov eax, dword [ebp - 0x2b8]
cmp dword [eax + 0x7c], 0
je 0x46f29e
mov edx, dword [eax + 0x7c]
fld dword [0x4b0570]
sub esp, 0x10
mov ecx, esp
fst dword [esp + 0xc]
mov dword [ecx], edx
fstp dword [esp + 8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x294], esp
mov dword [ecx + 4], eax
test eax, eax
je 0x46f20c
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
call fcn.0041abe0
mov eax, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x2b8]
add esp, 0x10
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46f23c
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x44]
mov byte [ebp - 4], 0x55
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x52
call fcn.0046a660
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46f281
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x44]
mov byte [ebp - 4], 0x56
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x52
call fcn.0046a660
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x57
test eax, eax
je 0x46f2c8
mov edx, dword [ebp - 0x2a0]
push edx
push eax
call fcn.00442de0
jmp 0x46f2ca
xor eax, eax
lea edi, [ebp - 0x2a0]
mov byte [ebp - 4], 0x52
call fcn.0045f5d0
mov eax, dword [ebp - 0x2a0]
cmp dword [eax + 0x7c], 0
je 0x46f405
mov eax, dword [ebp - 0x2b0]
cmp dword [eax + 0x7c], 0
je 0x46f405
mov edx, dword [eax + 0x7c]
fld dword [0x4b0570]
sub esp, 0x10
mov ecx, esp
fst dword [esp + 0xc]
mov dword [ecx], edx
fstp dword [esp + 8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x294], esp
mov dword [ecx + 4], eax
test eax, eax
je 0x46f330
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
call fcn.0041abe0
mov edx, dword [ebp - 0x2b0]
mov byte [edx + 0x87], 1
mov eax, dword [ebp - 0x2b0]
mov byte [eax + 0x88], 1
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [eax + 0xe0]
mov edx, dword [ebp - 0x2b0]
add esp, 0x10
lea ebx, [eax + 0x190]
lea esi, [ebp - 0x2b0]
mov dword [edx + 0x8c], ecx
call fcn.0045ecb0
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46f3a3
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x38]
mov byte [ebp - 4], 0x58
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x52
call fcn.0046a660
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], eax
test eax, eax
je 0x46f3e8
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea esi, [ebp - 0x298]
lea ebx, [ebp - 0x38]
mov byte [ebp - 4], 0x59
call fcn.0045ecb0
mov eax, esi
mov byte [ebp - 4], 0x52
call fcn.0046a660
push 0x98
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x5a
test eax, eax
je 0x46f42f
mov edx, dword [ebp - 0x2a8]
push edx
push eax
call fcn.00442de0
jmp 0x46f431
xor eax, eax
lea edi, [ebp - 0x2a8]
mov byte [ebp - 4], 0x52
call fcn.0045f5d0
mov eax, dword [ebp - 0x2a8]
cmp dword [eax + 0x7c], 0
je 0x46f4e9
mov byte [eax + 0x48], 1
mov ebx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], ebx
test ebx, ebx
je 0x46f47c
lea ecx, [ebx + 4]
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
lea edi, [eax + 4]
push ecx
push eax
lea esi, [ebp - 0x298]
call fcn.00438300
mov edx, 0x1ffffffe
sub edx, dword [ebp - 0x28]
cmp edx, 1
jae 0x46f4ad
push str.list_T__too_long
call fcn.0048680b
inc dword [ebp - 0x28]
mov dword [edi], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov byte [ebp - 4], 0x52
test ebx, ebx
je 0x46f4e9
lea eax, [ebx + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46f4e9
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
lea ecx, [ebx + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46f4e9
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, ebx
call edx
push 0x1ec
call fcn.00486d3e
add esp, 4
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x5c
test eax, eax
je 0x46f50e
push eax
call fcn.00429150
mov esi, eax
jmp 0x46f510
xor esi, esi
mov byte [ebp - 4], 0x52
push esi
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x2c8], esi
call fcn.00478d30
push esi
lea eax, [ebp - 0x2c8]
push esi
push eax
call fcn.00418230
add esp, 0xc
mov byte [ebp - 4], 0x5d
mov esi, dword [ebp - 0x2c8]
lea eax, [ebp - 0x158]
call fcn.00429530
test al, al
je 0x46f5ae
mov esi, dword [ebp - 0x2cc]
lea ecx, [ebp - 0x154]
push ecx
lea edi, [esi + 0x208]
call fcn.00475f00
mov edi, eax
lea eax, [ebp - 0x2c8]
call fcn.0042cba0
mov edx, dword [ebp - 0x2c8]
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov ecx, dword [ebp - 0x2c4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x294], esp
test eax, eax
je 0x46f5a7
add eax, 4
mov edx, 1
lock xadd dword [eax], edx
mov ecx, esi
call fcn.0046a9c0
mov byte [ebp - 4], 0x52
mov esi, dword [ebp - 0x2c4]
test esi, esi
je 0x46f5e6
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46f5e6
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46f5e6
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x49
mov esi, dword [ebp - 0x2a4]
test esi, esi
je 0x46f61e
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46f61e
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46f61e
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x47
mov esi, dword [ebp - 0x2ac]
test esi, esi
je 0x46f656
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46f656
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46f656
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x45
mov esi, dword [ebp - 0x2b4]
test esi, esi
je 0x46f68e
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46f68e
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46f68e
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x42
mov esi, dword [ebp - 0x29c]
test esi, esi
je 0x46f6c6
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x46f6c6
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x46f6c6
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [ebp - 0x158]
push eax
mov byte [ebp - 4], 0
call fcn.00429250
lea ecx, [ebp - 0x290]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.00429250
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00486a8b
mov esp, ebp
pop ebp
ret