Function at 0x425de0
Capabilities:
Get graphical window text
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x506e7a
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x551644]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov eax, dword [esi + 4]
push eax
mov dword [ebp - 0x5c], esi
call dword [sym.imp.USER32.dll_GetParent]
push eax
mov ecx, 0x552a20
call fcn.0040be40
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x68]
cmp eax, ecx
je 0x425e58
mov edx, ecx
cmp ecx, ecx
je 0x425e55
mov edi, ecx
sub edi, eax
nop
mov ebx, dword [edx]
mov dword [eax], ebx
mov ebx, dword [edi + eax + 4]
mov dword [eax + 4], ebx
add edx, 8
add eax, 8
cmp edx, ecx
jne 0x425e40
mov dword [esi + 0x6c], eax
xor ebx, ebx
mov dword [ebp - 0x44], 0x578
mov dword [ebp - 0x40], 0x5dc
mov dword [ebp - 0x3c], 0x579
mov dword [ebp - 0x38], 0x5dd
mov dword [ebp - 0x34], 0x57a
mov dword [ebp - 0x30], 0x5de
mov dword [ebp - 0x2c], 0x57b
mov dword [ebp - 0x28], 0x5df
mov dword [ebp - 0x24], 0x57c
mov dword [ebp - 0x20], 0x5e0
mov dword [ebp - 0x1c], 0x57d
mov dword [ebp - 0x18], 0x5e1
mov dword [ebp - 0x60], ebx
mov eax, dword [esi + 0x6c]
mov edi, dword [ebp + ebx*4 - 0x44]
mov ecx, dword [ebp + ebx*4 - 0x40]
lea edx, [ebp - 0x84]
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x80], ecx
cmp edx, eax
jae 0x425f44
mov edx, dword [esi + 0x68]
lea ecx, [ebp - 0x84]
cmp edx, ecx
ja 0x425f44
mov edi, ecx
mov ecx, dword [esi + 0x70]
sub edi, edx
sar edi, 3
cmp eax, ecx
jne 0x425f2b
sub eax, edx
sar eax, 3
cmp eax, 0x1ffffffe
ja 0x426047
sub ecx, edx
inc eax
sar ecx, 3
cmp eax, ecx
jbe 0x425f2b
mov edx, ecx
shr edx, 1
mov ebx, 0x1fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x425f17
xor ecx, ecx
jmp 0x425f19
add ecx, edx
cmp ecx, eax
jae 0x425f1f
mov ecx, eax
push ecx
lea ecx, [esi + 0x68]
call fcn.00416fd0
mov ebx, dword [ebp - 0x60]
mov eax, dword [esi + 0x6c]
mov edx, dword [esi + 0x68]
lea edi, [edx + edi*8]
test eax, eax
je 0x425f9e
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
jmp 0x425f9e
mov ecx, dword [esi + 0x70]
cmp eax, ecx
jne 0x425f8f
mov edx, dword [esi + 0x68]
sub eax, edx
sar eax, 3
cmp eax, 0x1ffffffe
ja 0x426047
sub ecx, edx
inc eax
sar ecx, 3
cmp eax, ecx
jbe 0x425f8f
mov edx, ecx
shr edx, 1
mov ebx, 0x1fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x425f7b
xor ecx, ecx
jmp 0x425f7d
add ecx, edx
cmp ecx, eax
jae 0x425f83
mov ecx, eax
push ecx
lea ecx, [esi + 0x68]
call fcn.00416fd0
mov ebx, dword [ebp - 0x60]
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x425f9e
mov ecx, dword [ebp - 0x80]
mov dword [eax], edi
mov dword [eax + 4], ecx
add dword [esi + 0x6c], 8
add ebx, 2
mov dword [ebp - 0x60], ebx
cmp ebx, 0xc
jb 0x425eb1
mov edx, dword [vtable.CCriticalSection.0]
mov eax, dword [edx]
mov ecx, 0x5452ec
mov dword [ebp - 0x54], vtable.CCriticalLock.0
mov dword [ebp - 0x50], ecx
call eax
mov dword [ebp - 0x4c], 1
xor edi, edi
mov dword [ebp - 4], edi
cmp dword [0x552af4], edi
jne 0x426059
push 0x64
call fcn.004f4b27
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
mov byte [ebp - 4], 1
cmp esi, edi
je 0x426051
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [esi + 0x10], eax
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
jmp 0x426053
push str.vector_T__too_long
call fcn.004f469d
xor esi, esi
mov dword [0x552af4], esi
mov edx, dword [vtable.CCriticalSection.0]
mov eax, dword [edx + 4]
or ebx, 0xffffffff
mov ecx, 0x5452ec
mov dword [ebp - 4], ebx
call eax
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x4260ba
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x4260ba
mov edx, dword [eax + 0x14]
cmp edx, edi
je 0x4260ae
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4260bc
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4260bc
xor eax, eax
mov esi, dword [eax + 0x20]
cmp esi, edi
jne 0x4260c7
xor ecx, ecx
jmp 0x4260dd
mov ecx, dword [eax + 0x28]
cmp ecx, edi
je 0x4260d3
mov edx, dword [ecx + 0xc]
jmp 0x4260d5
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp byte [eax], 0
mov edx, dword [ebp - 0x5c]
sete cl
mov byte [edx + 0x78], cl
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax]
mov ecx, 0x5452ec
mov dword [ebp - 0x54], vtable.CCriticalLock.0
mov dword [ebp - 0x50], ecx
call edx
mov dword [ebp - 0x4c], 1
mov dword [ebp - 4], 2
cmp dword [0x552af4], edi
jne 0x42618d
push 0x64
call fcn.004f4b27
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
mov byte [ebp - 4], 3
cmp esi, edi
je 0x426185
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [esi + 0x10], eax
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
jmp 0x426187
xor esi, esi
mov dword [0x552af4], esi
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax + 4]
mov ecx, 0x5452ec
mov dword [ebp - 4], ebx
call edx
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x4261ea
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x4261ea
mov edx, dword [eax + 0x14]
cmp edx, edi
je 0x4261de
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4261ec
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4261ec
xor eax, eax
mov esi, dword [eax + 0x20]
cmp esi, edi
jne 0x4261f7
xor ecx, ecx
jmp 0x42620d
mov ecx, dword [eax + 0x28]
cmp ecx, edi
je 0x426203
mov edx, dword [ecx + 0xc]
jmp 0x426205
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
push 0x5dc
mov edi, 0x64
sub edi, dword [eax]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push edi
push 1
push 0x405
push esi
call ebx
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax]
mov ecx, 0x5452ec
mov dword [ebp - 0x54], vtable.CCriticalLock.0
mov dword [ebp - 0x50], ecx
call edx
mov dword [ebp - 0x4c], 1
cmp dword [0x552af4], 0
mov dword [ebp - 4], 4
jne 0x426304
push 0x64
call fcn.004f4b27
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
xor edi, edi
mov byte [ebp - 4], 5
cmp esi, edi
je 0x4262fc
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [esi + 0x10], eax
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
jmp 0x4262fe
xor esi, esi
mov dword [0x552af4], esi
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax + 4]
mov ecx, 0x5452ec
mov dword [ebp - 4], 0xffffffff
call edx
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426365
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426365
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426359
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426367
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426367
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x426372
xor ecx, ecx
jmp 0x426388
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x42637e
mov edx, dword [ecx + 0xc]
jmp 0x426380
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
mov esi, dword [eax]
push 0x578
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, eax
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [ebp - 0x64], eax
push esi
lea eax, [ebp - 0x64]
push 0x517b98
push eax
mov dword [ebp - 4], 8
call fcn.0040c320
mov esi, dword [ebp - 0x64]
add esp, 0xc
push esi
push edi
call dword [sym.imp.USER32.dll_SetWindowTextA]
lea eax, [esi - 0x10]
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x426401
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [vtable.CCriticalSection.0]
mov eax, dword [edx]
mov ecx, 0x5452ec
mov dword [ebp - 0x54], vtable.CCriticalLock.0
mov dword [ebp - 0x50], ecx
call eax
mov dword [ebp - 0x4c], 1
xor edi, edi
mov dword [ebp - 4], 9
cmp dword [0x552af4], edi
jne 0x4264a3
push 0x64
call fcn.004f4b27
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
mov byte [ebp - 4], 0xa
cmp esi, edi
je 0x42649b
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [esi + 0x10], eax
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
jmp 0x42649d
xor esi, esi
mov dword [0x552af4], esi
mov edx, dword [vtable.CCriticalSection.0]
mov eax, dword [edx + 4]
mov ecx, 0x5452ec
mov dword [ebp - 4], 0xffffffff
call eax
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x426505
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x426505
mov edx, dword [eax + 0x14]
cmp edx, edi
je 0x4264f9
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426507
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426507
xor eax, eax
mov esi, dword [eax + 0x20]
cmp esi, edi
jne 0x426512
xor ecx, ecx
jmp 0x426528
mov ecx, dword [eax + 0x28]
cmp ecx, edi
je 0x42651e
mov edx, dword [ecx + 0xc]
jmp 0x426520
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
cmp byte [eax], 0
mov edx, dword [ebp - 0x5c]
sete cl
mov byte [edx + 0x79], cl
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax]
mov ecx, 0x5452ec
mov dword [ebp - 0x54], vtable.CCriticalLock.0
mov dword [ebp - 0x50], ecx
call edx
mov dword [ebp - 0x4c], 1
mov dword [ebp - 4], 0xb
cmp dword [0x552af4], edi
jne 0x4265d8
push 0x64
call fcn.004f4b27
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
mov byte [ebp - 4], 0xc
cmp esi, edi
je 0x4265d0
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [esi + 0x10], eax
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
jmp 0x4265d2
xor esi, esi
mov dword [0x552af4], esi
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax + 4]
mov ecx, 0x5452ec
mov dword [ebp - 4], 0xffffffff
call edx
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426639
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x426639
mov edx, dword [eax + 0x14]
cmp edx, edi
je 0x42662d
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x42663b
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x42663b
xor eax, eax
mov esi, dword [eax + 0x20]
cmp esi, edi
jne 0x426646
xor ecx, ecx
jmp 0x42665c
mov ecx, dword [eax + 0x28]
cmp ecx, edi
je 0x426652
mov edx, dword [ecx + 0xc]
jmp 0x426654
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
push 0x5dd
mov edi, 0x64
sub edi, dword [eax]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push edi
push 1
push 0x405
push esi
call ebx
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426702
mov esi, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x426702
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x4266f6
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x426704
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x426704
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x42670f
xor ecx, ecx
jmp 0x426725
mov eax, dword [esi + 0x28]
test eax, eax
je 0x42671b
mov eax, dword [eax + 0xc]
jmp 0x42671d
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [eax]
mov edi, dword [ebp - 0x5c]
push 0x579
push ecx
mov ecx, edi
call fcn.004166c0
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426793
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426793
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426787
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426795
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426795
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x4267a0
xor ecx, ecx
jmp 0x4267b6
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x4267ac
mov edx, dword [ecx + 0xc]
jmp 0x4267ae
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x68]
call eax
cmp byte [eax], 0
sete cl
mov byte [edi + 0x7a], cl
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x42681b
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x42681b
mov edx, dword [eax + 0x14]
test edx, edx
je 0x42680f
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x42681d
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x42681d
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x426828
xor ecx, ecx
jmp 0x42683e
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x426834
mov edx, dword [ecx + 0xc]
jmp 0x426836
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x6c]
call eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
push 0x5de
mov edi, 0x64
sub edi, dword [eax]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push edi
push 1
push 0x405
push esi
call ebx
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x4268e4
mov esi, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4268e4
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x4268d8
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x4268e6
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x4268e6
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x4268f1
xor ecx, ecx
jmp 0x426907
mov eax, dword [esi + 0x28]
test eax, eax
je 0x4268fd
mov eax, dword [eax + 0xc]
jmp 0x4268ff
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x6c]
call eax
mov ecx, dword [eax]
mov edi, dword [ebp - 0x5c]
push 0x57a
push ecx
mov ecx, edi
call fcn.004166c0
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426975
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426975
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426969
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426977
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426977
xor eax, eax
cmp byte [eax + 0x69], 0
setne cl
mov byte [edi + 0x7c], cl
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x4269d6
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4269d6
mov edx, dword [eax + 0x14]
test edx, edx
je 0x4269ca
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4269d8
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4269d8
xor eax, eax
cmp byte [eax + 0x6d], 0
sete cl
mov byte [edi + 0x7b], cl
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426a37
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426a37
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426a2b
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426a39
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426a39
xor eax, eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
push 0x5df
mov edi, 0x64
sub edi, dword [eax + 0x70]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push edi
push 1
push 0x405
push esi
call ebx
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426ad9
mov esi, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x426ad9
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x426acd
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x426adb
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x426adb
xor esi, esi
mov ecx, dword [esi + 0x70]
mov edi, dword [ebp - 0x5c]
push 0x57b
push ecx
mov ecx, edi
call fcn.004166c0
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426b43
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426b43
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426b37
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426b45
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426b45
xor eax, eax
cmp byte [eax + 0x6c], 0
mov edx, dword [edi + 4]
push 0x708
sete cl
push edx
mov byte [edi + 0x7d], cl
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
lea ecx, [edi + 0x80]
call fcn.00404cc0
test eax, eax
je 0x426b80
mov eax, dword [edi + 0x84]
push 0x24
push 0
push 0x1036
push eax
call ebx
mov ecx, dword [edi + 4]
push 0x7d0
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, 0x553818
mov dword [edi + 0xa4], eax
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426bea
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426bea
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426bde
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426bec
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426bec
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x426bf7
xor ecx, ecx
jmp 0x426c0d
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x426c03
mov edx, dword [ecx + 0xc]
jmp 0x426c05
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x34]
call eax
test al, al
je 0x427183
mov ecx, dword [edi + 4]
push 0x5e0
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push 0
push 1
push 0x405
push esi
call ebx
xor eax, eax
lea edx, [ebp - 0x58]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov eax, dword [edi + 0x84]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 2
call esi
push 0x2d
mov edi, eax
call esi
mov ecx, dword [ebp - 0x50]
lea edx, [eax + eax + 0x1e]
xor eax, eax
sub ecx, edx
sub ecx, dword [ebp - 0x58]
mov dword [ebp - 0x30], eax
sub ecx, edi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x28], 0x518104
mov dword [ebp - 0x30], eax
cmp ecx, 0xffffffff
je 0x426cd1
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0x5c]
mov ecx, dword [esi + 0x84]
lea eax, [ebp - 0x34]
push eax
push 0
push 0x101b
push ecx
call ebx
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push 1
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x84]
push 0x101b
push eax
mov dword [ebp - 0x28], 0x5183b4
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x2c], 0x1e
call ebx
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], 0xd
xor edi, edi
mov edi, edi
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x426da5
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426da5
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426d99
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426da7
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426da7
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x426db2
xor ecx, ecx
jmp 0x426dc8
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x426dbe
mov edx, dword [ecx + 0xc]
jmp 0x426dc0
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x3c]
call eax
push 0
push 0
push 0x1004
cmp edi, eax
jge 0x42706e
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x84]
push edx
call ebx
mov ecx, 0x553818
mov dword [ebp - 0x64], eax
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426e44
mov esi, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x426e44
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x426e38
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x426e46
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x426e46
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x426e51
xor ecx, ecx
jmp 0x426e67
mov eax, dword [esi + 0x28]
test eax, eax
je 0x426e5d
mov eax, dword [eax + 0xc]
jmp 0x426e5f
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
push edi
lea eax, [ebp - 0x7c]
push eax
call edx
push 0x30
mov esi, eax
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.004f55d0
mov ecx, dword [ebp - 0x64]
mov edx, dword [esi]
add esp, 0xc
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x5c]
push 0
mov dword [ebp - 0x34], edx
mov edx, dword [ecx + 0x84]
push 0x1007
push edx
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x40], 0
call ebx
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x426ed4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x426f29
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426f29
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426f1d
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426f2b
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426f2b
xor eax, eax
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x426f36
xor esi, esi
jmp 0x426f4c
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x426f42
mov ecx, dword [ecx + 0xc]
jmp 0x426f44
xor ecx, ecx
mov esi, dword [eax + 0x24]
imul esi, ecx
add esi, edx
push 0x30
lea edx, [ebp - 0x44]
push 0
push edx
mov dword [ebp - 0x48], 0
call fcn.004f55d0
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
add esp, 0xc
push edi
mov ecx, esi
call edx
xor ecx, ecx
cmp byte [eax], cl
mov eax, dword [ebp - 0x5c]
sete cl
lea edx, [ebp - 0x48]
push edx
push edi
push 0x102b
mov dword [ebp - 0x38], 0xf000
inc ecx
shl ecx, 0xc
mov dword [ebp - 0x3c], ecx
mov ecx, dword [eax + 0x84]
push ecx
call ebx
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426fed
mov esi, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x426fed
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x426fe1
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x426fef
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x426fef
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x426ffa
xor ecx, ecx
jmp 0x427010
mov eax, dword [esi + 0x28]
test eax, eax
je 0x427006
mov eax, dword [eax + 0xc]
jmp 0x427008
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
push edi
call eax
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x60]
push 0x517b98
push edx
call fcn.0040c320
push 0x30
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.004f55d0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
add esp, 0x18
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x5c]
push 0
mov dword [ebp - 0x34], edx
mov edx, dword [ecx + 0x84]
push 0x1006
mov esi, 1
push edx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
call ebx
add edi, esi
jmp 0x426d50
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x84]
push ecx
call ebx
test eax, eax
je 0x42715d
push 0x30
lea edx, [ebp - 0x44]
push 0
push edx
mov dword [ebp - 0x48], 0
call fcn.004f55d0
mov edi, dword [ebp - 0x5c]
mov ecx, dword [edi + 0x84]
mov eax, 2
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x48]
push eax
push 0
push 0x102b
push ecx
call ebx
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x427110
mov esi, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x427110
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x427104
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x427112
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x427112
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x42711d
xor ecx, ecx
jmp 0x427133
mov eax, dword [esi + 0x28]
test eax, eax
je 0x427129
mov eax, dword [eax + 0xc]
jmp 0x42712b
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
push 0
call eax
mov ecx, dword [edi + 4]
push 0x5e0
mov esi, 0x64
sub esi, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push 1
push 0x405
push eax
call ebx
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x427183
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x4271d8
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4271d8
mov edx, dword [eax + 0x14]
test edx, edx
je 0x4271cc
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4271da
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4271da
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x4271e5
xor ecx, ecx
jmp 0x4271fb
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x4271f1
mov edx, dword [ecx + 0xc]
jmp 0x4271f3
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x70]
call eax
test al, al
je 0x427e97
mov edi, dword [ebp - 0x5c]
mov ecx, dword [edi + 4]
push 0x5e1
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push 0
push 1
push 0x405
push esi
call ebx
mov edx, dword [edi + 0xa4]
add edi, 0xa4
push 0xfffffffffffffff0
push edx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ecx, eax
or ecx, 0x100
cmp eax, ecx
je 0x42727b
mov eax, dword [edi]
push ecx
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ecx, dword [0x553930]
push 0
push 0
push 0xff00ff
push 0
push 0xd
push 0xcd
push ecx
call dword [sym.imp.COMCTL32.dll_ImageList_LoadImageA]
push 2
push eax
lea edx, [ebp - 0x88]
push edx
mov ecx, edi
call fcn.00415fb0
push 0xffff0002
push 0xffff0000
push 0x5183a4
lea eax, [ebp - 0x84]
push eax
mov ecx, edi
call fcn.00415f40
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x42731d
mov esi, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x42731d
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x427311
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x42731f
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x42731f
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x42732a
xor ecx, ecx
jmp 0x427340
mov eax, dword [esi + 0x28]
test eax, eax
je 0x427336
mov eax, dword [eax + 0xc]
jmp 0x427338
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x74]
call eax
mov edx, dword [ebp - 0x84]
xor ecx, ecx
cmp byte [eax], cl
setne cl
push ecx
push edx
mov ecx, edi
call fcn.00415ce0
mov esi, dword [ebp - 0x5c]
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x58]
cmp ecx, eax
je 0x427390
mov edx, dword [ebp - 0x68]
push edx
push ecx
push eax
push eax
call fcn.004063e0
mov ecx, dword [ebp - 0x68]
push ecx
mov edi, eax
mov eax, dword [esi + 0x5c]
lea edx, [esi + 0x64]
push edx
push eax
push edi
call fcn.00470560
add esp, 0x20
mov dword [esi + 0x5c], edi
push 0x10
call fcn.004f4b27
mov edi, eax
add esp, 4
test edi, edi
je 0x4273cc
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [edi + 4], eax
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [edi + 8], eax
jmp 0x4273ce
xor edi, edi
push 1
push edi
lea ecx, [ebp - 0x54]
call fcn.00416440
lea eax, [ebp - 0x54]
push eax
lea ecx, [esi + 0x58]
mov dword [ebp - 4], 0xe
call fcn.004d2180
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x427418
dec dword [esi + 4]
jne 0x427418
cmp byte [esi + 8], 0
je 0x42740d
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
xor edi, edi
mov dword [ebp - 0x60], edi
lea ecx, [ecx]
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x427475
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x427475
mov edx, dword [eax + 0x14]
test edx, edx
je 0x427469
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x427477
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x427477
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x427482
xor ecx, ecx
jmp 0x427498
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x42748e
mov edx, dword [ecx + 0xc]
jmp 0x427490
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x78]
call eax
cmp edi, eax
jge 0x427e74
mov ecx, 0x553818
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x4274fc
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4274fc
mov edx, dword [eax + 0x14]
test edx, edx
je 0x4274f0
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4274fe
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4274fe
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x427509
xor ecx, ecx
jmp 0x42751f
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427515
mov edx, dword [ecx + 0xc]
jmp 0x427517
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x80]
push edi
lea eax, [ebp - 0x64]
push eax
call edx
mov ecx, 0x553818
mov dword [ebp - 4], 0xf
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x42758a
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x42758a
mov edx, dword [eax + 0x14]
test edx, edx
je 0x42757e
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x42758c
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x42758c
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x427597
xor ecx, ecx
jmp 0x4275ad
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x4275a3
mov edx, dword [ecx + 0xc]
jmp 0x4275a5
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x84]
push edi
call eax
cmp byte [eax], 0
jne 0x4275cc
push 6
push 0x51839c
lea ecx, [ebp - 0x64]
call fcn.004048b0
lea ecx, [ebp - 0x64]
push ecx
mov ecx, dword [ebp - 0x5c]
lea edx, [ebp - 0x7c]
push edx
call fcn.0041c1d0
push 0x30
lea eax, [ebp - 0x44]
push 0
push eax
mov byte [ebp - 4], 0x10
call fcn.004f55d0
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x80]
add esp, 0xc
lea eax, [ebp - 0x48]
push eax
push 0
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], 0xffff0002
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x30], edx
mov ecx, dword [esi]
push 0x1100
push ecx
call ebx
mov edi, eax
mov ecx, 0x553818
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], esi
call fcn.004175a0
mov esi, dword [0x552af4]
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x427683
mov esi, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x427683
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x427677
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x427685
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x427685
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x427690
xor ecx, ecx
jmp 0x4276a6
mov eax, dword [esi + 0x28]
test eax, eax
je 0x42769c
mov eax, dword [eax + 0xc]
jmp 0x42769e
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov ebx, dword [ebp - 0x60]
mov eax, dword [edx + 0x7c]
push ebx
call eax
mov ecx, dword [ebp - 0x5c]
xor edx, edx
add ecx, 0xa4
cmp byte [eax], dl
setne dl
push edx
push edi
call fcn.00415ce0
push 0x10
mov byte [ebp - 4], 0x11
call fcn.004f4b27
mov esi, eax
add esp, 4
test esi, esi
je 0x427708
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [esi + 4], eax
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [esi + 8], eax
jmp 0x42770a
xor esi, esi
push 1
push esi
lea ecx, [ebp - 0x54]
call fcn.00416440
mov edx, dword [ebp - 0x54]
mov byte [ebp - 4], 0x12
test edx, edx
jne 0x427724
xor eax, eax
jmp 0x42773a
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x427730
mov ecx, dword [eax + 0xc]
jmp 0x427732
xor ecx, ecx
mov eax, dword [ebp - 0x50]
imul eax, ecx
add eax, edx
mov dword [eax], ebx
mov edx, dword [ebp - 0x54]
test edx, edx
jne 0x427747
xor eax, eax
jmp 0x42775d
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x427753
mov ecx, dword [eax + 0xc]
jmp 0x427755
xor ecx, ecx
mov eax, dword [ebp - 0x50]
imul eax, ecx
add eax, edx
push 4
push 0x518084
lea ecx, [eax + 8]
call fcn.004048b0
mov ecx, 0x553818
call fcn.004175a0
mov ecx, dword [0x552af4]
push 1
call fcn.00404740
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x42778e
xor ecx, ecx
jmp 0x4277a4
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x42779a
mov esi, dword [ecx + 0xc]
jmp 0x42779c
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov ebx, dword [ebp - 0x54]
test ebx, ebx
jne 0x4277b1
xor esi, esi
xor eax, eax
jmp 0x4277e3
mov edi, dword [ebp - 0x4c]
test edi, edi
je 0x4277c7
mov eax, dword [ebp - 0x50]
mov edx, dword [edi + 0xc]
mov esi, eax
imul esi, edx
add esi, ebx
jmp 0x4277d3
mov eax, dword [ebp - 0x50]
xor edx, edx
mov esi, eax
imul esi, edx
add esi, ebx
test edi, edi
je 0x4277dc
mov edx, dword [edi + 0xc]
jmp 0x4277de
xor edx, edx
imul eax, edx
add eax, ebx
mov eax, dword [eax + 8]
mov edx, dword [ecx]
mov ebx, dword [ebp - 0x60]
push eax
mov eax, dword [edx + 0x8c]
push ebx
call eax
mov ecx, dword [eax]
mov dword [esi + 0xc], ecx
mov ecx, 0x553818
call fcn.004175a0
mov ecx, dword [0x552af4]
push 1
call fcn.00404740
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x42781c
xor ecx, ecx
jmp 0x427832
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427828
mov esi, dword [ecx + 0xc]
jmp 0x42782a
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov esi, dword [ebp - 0x54]
test esi, esi
jne 0x42783d
xor eax, eax
jmp 0x427853
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x427849
mov edx, dword [eax + 0xc]
jmp 0x42784b
xor edx, edx
mov eax, dword [ebp - 0x50]
imul eax, edx
add eax, esi
mov eax, dword [eax + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x9c]
push eax
push ebx
lea eax, [ebp - 0x88]
push eax
call edx
mov edx, dword [ebp - 0x54]
mov byte [ebp - 4], 0x13
test edx, edx
jne 0x427878
xor ecx, ecx
jmp 0x42788c
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x427884
mov ecx, dword [ecx + 0xc]
jmp 0x427886
xor ecx, ecx
imul ecx, dword [ebp - 0x50]
add ecx, edx
add ecx, 4
push eax
call fcn.00408c20
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x12
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4278bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
mov esi, dword [ebp - 0x54]
mov byte [ebp - 4], 0x14
test esi, esi
jne 0x4278e2
xor eax, eax
xor ecx, ecx
jmp 0x427914
mov edi, dword [ebp - 0x4c]
test edi, edi
je 0x4278f8
mov ecx, dword [ebp - 0x50]
mov edx, dword [edi + 0xc]
mov eax, ecx
imul eax, edx
add eax, esi
jmp 0x427904
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov eax, ecx
imul eax, edx
add eax, esi
test edi, edi
je 0x42790d
mov edx, dword [edi + 0xc]
jmp 0x42790f
xor edx, edx
imul ecx, edx
add ecx, esi
mov edx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
push edx
push eax
lea ecx, [ebp - 0x78]
push 0x518070
push ecx
call fcn.0040c320
add esp, 0x10
push 0x30
lea edx, [ebp - 0x44]
push 0
push edx
call fcn.004f55d0
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x78]
add esp, 0xc
lea edx, [ebp - 0x48]
push edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x80]
push 0
mov dword [ebp - 0x44], 0xffff0002
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x30], ecx
mov ecx, dword [eax]
push 0x1100
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, 0x553818
mov edi, eax
call fcn.004175a0
mov ecx, dword [0x552af4]
push 1
call fcn.00404740
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x427995
xor ecx, ecx
jmp 0x4279ab
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x4279a1
mov esi, dword [ecx + 0xc]
jmp 0x4279a3
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov esi, dword [ebp - 0x54]
test esi, esi
jne 0x4279b6
xor eax, eax
jmp 0x4279cc
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x4279c2
mov edx, dword [eax + 0xc]
jmp 0x4279c4
xor edx, edx
mov eax, dword [ebp - 0x50]
imul eax, edx
add eax, esi
mov eax, dword [eax + 8]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x90]
push ebx
call eax
mov esi, dword [ebp - 0x5c]
xor ecx, ecx
cmp byte [eax], cl
sete cl
push ecx
push edi
lea ecx, [esi + 0xa4]
call fcn.00415ce0
lea edx, [ebp - 0x54]
push edx
lea ecx, [esi + 0x58]
call fcn.004d2180
mov ecx, dword [esi + 0x5c]
sub ecx, dword [esi + 0x58]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax - 1]
push ecx
push edi
lea ecx, [esi + 0xa4]
call fcn.00415c80
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x12
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x427a46
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4c]
xor esi, esi
mov byte [ebp - 4], 0x11
cmp eax, esi
je 0x427a7f
dec dword [eax + 4]
mov ecx, eax
cmp dword [eax + 4], esi
jne 0x427a79
cmp byte [ecx + 8], 0
je 0x427a69
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x4c]
cmp ecx, esi
je 0x427a79
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 4], 0x10
push 0x10
mov byte [ebp - 4], 0x16
call fcn.004f4b27
mov esi, eax
add esp, 4
test esi, esi
je 0x427ad5
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [esi + 4], eax
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [esi + 8], eax
jmp 0x427ad7
xor esi, esi
push 1
push esi
lea ecx, [ebp - 0x74]
call fcn.00416440
mov edx, dword [ebp - 0x74]
mov byte [ebp - 4], 0x17
test edx, edx
jne 0x427af1
xor eax, eax
jmp 0x427b07
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x427afd
mov ecx, dword [eax + 0xc]
jmp 0x427aff
xor ecx, ecx
mov eax, dword [ebp - 0x70]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov edx, dword [ebp - 0x74]
test edx, edx
jne 0x427b17
xor eax, eax
jmp 0x427b2d
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x427b23
mov ecx, dword [eax + 0xc]
jmp 0x427b25
xor ecx, ecx
mov eax, dword [ebp - 0x70]
imul eax, ecx
add eax, edx
push 0xa
push 0x518390
lea ecx, [eax + 8]
call fcn.004048b0
mov ecx, 0x553818
call fcn.004175a0
mov ecx, dword [0x552af4]
push 1
call fcn.00404740
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x427b5e
xor ecx, ecx
jmp 0x427b74
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427b6a
mov esi, dword [ecx + 0xc]
jmp 0x427b6c
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov ebx, dword [ebp - 0x74]
test ebx, ebx
jne 0x427b81
xor esi, esi
xor eax, eax
jmp 0x427bb3
mov edi, dword [ebp - 0x6c]
test edi, edi
je 0x427b97
mov eax, dword [ebp - 0x70]
mov edx, dword [edi + 0xc]
mov esi, eax
imul esi, edx
add esi, ebx
jmp 0x427ba3
mov eax, dword [ebp - 0x70]
xor edx, edx
mov esi, eax
imul esi, edx
add esi, ebx
test edi, edi
je 0x427bac
mov edx, dword [edi + 0xc]
jmp 0x427bae
xor edx, edx
imul eax, edx
add eax, ebx
mov eax, dword [eax + 8]
mov edx, dword [ecx]
mov edi, dword [ebp - 0x60]
push eax
mov eax, dword [edx + 0x8c]
push edi
call eax
mov ecx, dword [eax]
mov dword [esi + 0xc], ecx
mov ecx, 0x553818
call fcn.004175a0
mov ecx, dword [0x552af4]
push 1
call fcn.00404740
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x427bec
xor ecx, ecx
jmp 0x427c02
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427bf8
mov esi, dword [ecx + 0xc]
jmp 0x427bfa
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov esi, dword [ebp - 0x74]
test esi, esi
jne 0x427c0d
xor eax, eax
jmp 0x427c23
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x427c19
mov edx, dword [eax + 0xc]
jmp 0x427c1b
xor edx, edx
mov eax, dword [ebp - 0x70]
imul eax, edx
add eax, esi
mov eax, dword [eax + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x9c]
push eax
push edi
lea eax, [ebp - 0x68]
push eax
call edx
mov esi, dword [ebp - 0x74]
mov byte [ebp - 4], 0x18
test esi, esi
jne 0x427c45
xor ecx, ecx
jmp 0x427c5b
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x427c51
mov edx, dword [ecx + 0xc]
jmp 0x427c53
xor edx, edx
mov ecx, dword [ebp - 0x70]
imul ecx, edx
add ecx, esi
add ecx, 4
push eax
call fcn.00408c20
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x17
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x427c87
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
mov esi, dword [ebp - 0x74]
mov byte [ebp - 4], 0x19
test esi, esi
jne 0x427cae
xor eax, eax
xor ecx, ecx
jmp 0x427ce0
mov edi, dword [ebp - 0x6c]
test edi, edi
je 0x427cc4
mov ecx, dword [ebp - 0x70]
mov edx, dword [edi + 0xc]
mov eax, ecx
imul eax, edx
add eax, esi
jmp 0x427cd0
mov ecx, dword [ebp - 0x70]
xor edx, edx
mov eax, ecx
imul eax, edx
add eax, esi
test edi, edi
je 0x427cd9
mov edx, dword [edi + 0xc]
jmp 0x427cdb
xor edx, edx
imul ecx, edx
add ecx, esi
mov edx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
push edx
push eax
lea ecx, [ebp - 0x78]
push 0x518070
push ecx
call fcn.0040c320
mov edx, dword [ebp - 0x78]
add esp, 0x10
push 0xffffffffffffffff
push edx
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x90]
call fcn.00415fe0
mov ecx, 0x553818
call fcn.004175a0
mov ecx, dword [0x552af4]
push 1
call fcn.00404740
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x427d33
xor ecx, ecx
jmp 0x427d49
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427d3f
mov esi, dword [ecx + 0xc]
jmp 0x427d41
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [ebp - 0x60]
mov edx, dword [edx + 0x90]
push 0x518390
push eax
call edx
mov esi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x98]
xor ecx, ecx
cmp byte [eax], cl
sete cl
push ecx
push ebx
lea ecx, [esi + 0xa4]
call fcn.00415ce0
lea edx, [ebp - 0x74]
push edx
lea ecx, [esi + 0x58]
call fcn.004d2180
mov ecx, dword [esi + 0x5c]
sub ecx, dword [esi + 0x58]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax - 1]
push ecx
push ebx
lea ecx, [esi + 0xa4]
call fcn.00415c80
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x17
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x427dcd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6c]
xor esi, esi
mov byte [ebp - 4], 0x16
cmp eax, esi
je 0x427e06
dec dword [eax + 4]
mov ecx, eax
cmp dword [eax + 4], esi
jne 0x427e00
cmp byte [ecx + 8], 0
je 0x427df0
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x6c]
cmp ecx, esi
je 0x427e00
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xf
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x427e30
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x427e56
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc dword [ebp - 0x60]
mov edi, dword [ebp - 0x60]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x427420
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x80]
mov ecx, dword [esi]
push edi
push 2
push 0x1102
push ecx
call ebx
mov edx, dword [esi]
push edi
push 9
push 0x110b
push edx
call ebx
mov ebx, dword [ebp - 0x5c]
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.00416060
mov ecx, dword [ebx + 4]
xor eax, eax
cmp byte [ebx + 0x78], al
push 0x5dc
setne al
push ecx
mov esi, eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push esi
push eax
call edi
mov edx, dword [ebx + 4]
push 0x578
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push eax
call edi
push 0
mov ecx, ebx
call fcn.00415d50
mov ecx, ebx
call fcn.00415ab0
mov ecx, ebx
call fcn.00415b10
mov ecx, ebx
call fcn.0041ce40
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004f4f8b
mov esp, ebp
pop ebp
ret 0x10