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

Disassembly:
push 0xffffffffffffffff
push 0x5b654b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2f8
mov eax, dword [ecx + 0x318]
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x4c], eax
je 0x50f940
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], esi
mov dword [esp + 0x64], ebx
jle 0x50f893
mov esi, dword [esp + 0x54]
cmp esi, ebx
je 0x50d589
mov ecx, esi
call fcn.00512750
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
mov ecx, dword [eax + 0x314]
mov ebp, dword [ecx + edx*4]
cmp ebp, ebx
je 0x50f87a
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x10], ebx
mov byte [esp + 0x23], 0
mov edi, dword [eax]
mov eax, dword [ebp + 4]
mov dword [esp + 0x48], edi
mov byte [esp + 0x1b], 0
mov cl, byte [edi + 8]
mov dword [esp + 0x58], ebx
mov byte [esp + 0x3b], cl
mov byte [esp + 0x31], 0
mov esi, str.qt_group
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50d5f9
test cl, cl
je 0x50d5f5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50d5f9
add eax, 2
add esi, 2
test cl, cl
jne 0x50d5d5
xor eax, eax
jmp 0x50d5fe
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x50d72f
push 0x2c
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
cmp esi, ebx
mov dword [esp + 0x310], ebx
je 0x50d64d
lea ecx, [esi + 0x14]
call sub.MFC42.DLL_CString::CString_1
mov dword [esi + 0x18], 0x5cd370
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x20], ebx
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov byte [esi + 0xc], 0
jmp 0x50d64f
xor esi, esi
mov ecx, dword [esp + 0x24]
mov byte [esi + 0xc], 1
xor eax, eax
mov dword [esp + 0x34], esi
mov edx, dword [ecx + 0x2f0]
mov dword [esp + 0x310], 0xffffffff
cmp edx, ebx
mov dword [esp + 0x54], esi
mov dword [esp + 0x40], eax
jle 0x50d726
jmp 0x50d682
xor ebx, ebx
mov edx, dword [ecx + 0x2ec]
xor edi, edi
mov dword [esp + 0x1c], edi
mov esi, dword [edx + eax*4]
mov dword [esp + 0x14], esi
cmp dword [esi + 0x20], ebx
jle 0x50d701
mov eax, dword [esi + 0x1c]
mov ebx, dword [eax + edi*4]
mov eax, dword [ebx + 0x70]
mov cl, byte [eax + 0x4d]
test cl, cl
jne 0x50d6f5
mov cl, byte [eax + 0xe1]
test cl, cl
je 0x50d6f5
mov dl, byte [ebp + 0xc]
lea ecx, [ebp + 0xc]
test dl, dl
je 0x50d6d0
mov eax, dword [eax + 0x20]
push ecx
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x50d6f5
mov ecx, dword [esp + 0x34]
push 0xffffffffffffffff
mov edi, dword [ecx + 0x20]
lea esi, [ecx + 0x18]
mov ecx, esi
lea edx, [edi + 1]
push edx
call fcn.00533060
mov eax, dword [esi + 4]
mov esi, dword [esp + 0x14]
mov dword [eax + edi*4], ebx
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 0x20]
inc edi
cmp edi, eax
mov dword [esp + 0x1c], edi
jl 0x50d69a
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
inc eax
mov edx, dword [ecx + 0x2f0]
mov dword [esp + 0x40], eax
cmp eax, edx
jl 0x50d680
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x34]
xor ebx, ebx
mov dword [esp + 0x34], esi
jmp 0x50dc6d
mov eax, dword [ebp + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.005107e0
cmp eax, ebx
mov dword [esp + 0x34], eax
jne 0x50d8f8
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.0058d100
cmp eax, ebx
je 0x50d775
mov edx, dword [eax]
push ebx
push 0x6224bc
mov ecx, eax
call dword [edx + 0x90]
mov eax, dword [0x635400]
cmp eax, ebx
je 0x50d7dc
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50d7dc
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 8]
push ebx
push str.____ERROR:
push 0x601774
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x635400]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb7d0
mov eax, dword [0x635400]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.____ERROR:
call sub.MFC42.DLL_CString::CString_3
push ecx
mov dword [esp + 0x318], 1
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x601774
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp + 8]
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
push eax
mov byte [esp + 0x320], 2
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x320], 3
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x60e1f4
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x62ffdc]
or edi, 0xffffffff
mov dword [esp + 0x320], edi
call fcn.00458cb0
mov dword [esp + 0x10], ebp
mov eax, dword [ebp + 8]
mov dword [esp + 0x310], 4
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
push eax
call sub.MFC42.DLL_operatordelete
mov dword [ebp + 4], ebx
mov eax, dword [ebp + 0x2c]
add esp, 8
xor esi, esi
cmp eax, ebx
jle 0x50d89b
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx + esi*4]
cmp ecx, ebx
je 0x50d893
push 1
call fcn.005091e0
mov eax, dword [ebp + 0x2c]
inc esi
cmp esi, eax
jl 0x50d882
lea esi, [ebp + 0x24]
push edi
push ebx
mov ecx, esi
call fcn.00533060
mov ecx, esi
mov dword [esp + 0x310], edi
call fcn.004b9e50
push ebp
call sub.MFC42.DLL_operatordelete
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x54]
add esp, 4
mov eax, dword [esi + 0x318]
mov ecx, dword [esi + 0x314]
sub eax, edx
dec eax
lea edi, [ecx + edx*4]
je 0x50d8ed
shl eax, 2
lea ecx, [ecx + edx*4 + 4]
push eax
push ecx
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
dec dword [esi + 0x318]
jmp 0x50f87a
mov eax, dword [eax + 8]
cmp eax, 5
jne 0x50da33
push 0x2c
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
cmp esi, ebx
mov dword [esp + 0x310], 5
je 0x50d94f
lea ecx, [esi + 0x14]
call sub.MFC42.DLL_CString::CString_1
mov dword [esi + 0x18], 0x5cd370
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x20], ebx
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov byte [esi + 0xc], 0
jmp 0x50d951
xor esi, esi
mov edx, dword [esp + 0x24]
mov byte [esi + 0xc], 1
xor eax, eax
mov dword [esp + 0x1c], esi
mov ecx, dword [edx + 0x2f0]
mov dword [esp + 0x310], 0xffffffff
cmp ecx, ebx
mov dword [esp + 0x54], esi
mov dword [esp + 0x14], eax
jle 0x50da24
mov ecx, edx
mov ecx, dword [ecx + 0x2ec]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x44], ecx
mov eax, dword [ecx + 8]
test eax, eax
je 0x50d9a0
cmp eax, 2
je 0x50d9a0
cmp eax, 5
jne 0x50d9a6
cmp dword [esp + 0x34], ecx
jne 0x50da05
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x40], 0
test eax, eax
jle 0x50da05
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov eax, dword [edx + 0x1c]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebx + 0x70]
mov cl, byte [eax + 0x4c]
test cl, cl
jne 0x50d9f1
mov cl, byte [eax + 0x4d]
test cl, cl
jne 0x50d9f1
mov edx, dword [esp + 0x1c]
push 0xffffffffffffffff
mov edi, dword [edx + 0x20]
lea esi, [edx + 0x18]
mov ecx, esi
lea eax, [edi + 1]
push eax
call fcn.00533060
mov ecx, dword [esi + 4]
mov dword [ecx + edi*4], ebx
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
inc eax
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x40], eax
cmp eax, ecx
jl 0x50d9b5
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
inc eax
mov edx, dword [ecx + 0x2f0]
mov dword [esp + 0x14], eax
cmp eax, edx
jl 0x50d982
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x34], esi
xor ebx, ebx
jmp 0x50dc6d
cmp eax, 2
je 0x50da41
cmp eax, 3
jne 0x50dc6d
mov al, byte [esp + 0x3b]
test al, al
jne 0x50dc6d
mov al, byte [ebp + 0x19]
test al, al
jne 0x50dc6d
mov eax, dword [edi]
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
push 2
push 0x617384
push eax
call esi
add esp, 0xc
test eax, eax
je 0x50db43
mov ecx, dword [edi]
push 3
push 0x60ed0c
push ecx
call esi
add esp, 0xc
test eax, eax
je 0x50db43
mov edx, dword [edi]
push 2
push 0x60f414
push edx
call esi
add esp, 0xc
test eax, eax
je 0x50db43
mov eax, dword [edi]
push 4
push str.DETR
push eax
call esi
add esp, 0xc
test eax, eax
je 0x50db43
mov ecx, dword [edi]
push 4
push str.HELP
push ecx
call esi
add esp, 0xc
test eax, eax
je 0x50db43
mov edx, dword [edi]
push 4
push str.DATE
push edx
call esi
add esp, 0xc
test eax, eax
je 0x50db43
mov eax, dword [edi]
push 4
push str.CNTD
push eax
call esi
add esp, 0xc
test eax, eax
je 0x50db43
mov ecx, dword [edi]
push 2
push 0x60a560
push ecx
call esi
add esp, 0xc
test eax, eax
je 0x50db43
mov edx, dword [edi]
push 2
push 0x617854
push edx
call esi
add esp, 0xc
test eax, eax
je 0x50db43
mov eax, dword [edi]
push 2
push 0x62246c
push eax
call esi
add esp, 0xc
test eax, eax
je 0x50db43
mov ecx, dword [edi]
push 2
push 0x622468
push ecx
call esi
add esp, 0xc
test eax, eax
jne 0x50dc73
push 0x2c
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
cmp esi, ebx
mov dword [esp + 0x310], 6
je 0x50db8e
lea ecx, [esi + 0x14]
call sub.MFC42.DLL_CString::CString_1
mov dword [esi + 0x18], 0x5cd370
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x20], ebx
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov byte [esi + 0xc], 0
jmp 0x50db90
xor esi, esi
mov edx, dword [esp + 0x24]
mov byte [esi + 0xc], 1
xor eax, eax
mov dword [esp + 0x40], esi
mov ecx, dword [edx + 0x2f0]
mov dword [esp + 0x310], 0xffffffff
cmp ecx, ebx
mov dword [esp + 0x54], esi
mov dword [esp + 0x44], eax
jle 0x50dc63
mov ecx, edx
mov ecx, dword [ecx + 0x2ec]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + 8]
test eax, eax
je 0x50dbdf
cmp eax, 2
je 0x50dbdf
cmp eax, 5
jne 0x50dbe5
cmp dword [esp + 0x34], ecx
jne 0x50dc44
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x50dc44
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 0x1c]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebx + 0x70]
mov cl, byte [eax + 0x4c]
test cl, cl
jne 0x50dc30
mov cl, byte [eax + 0x4d]
test cl, cl
jne 0x50dc30
mov edx, dword [esp + 0x40]
push 0xffffffffffffffff
mov edi, dword [edx + 0x20]
lea esi, [edx + 0x18]
mov ecx, esi
lea eax, [edi + 1]
push eax
call fcn.00533060
mov ecx, dword [esi + 4]
mov dword [ecx + edi*4], ebx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
inc eax
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x1c], eax
cmp eax, ecx
jl 0x50dbf4
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x44]
inc eax
mov edx, dword [ecx + 0x2f0]
mov dword [esp + 0x44], eax
cmp eax, edx
jl 0x50dbc1
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x34], esi
xor ebx, ebx
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [edi]
push 6
push str.LOCK02
push eax
mov dword [esp + 0x31c], 7
mov byte [esp + 0x37], 0
mov byte [esp + 0x3e], 0
mov byte [esp + 0x2e], 0
mov dword [esp + 0x20], ebx
call esi
add esp, 0xc
test eax, eax
jne 0x50dd11
mov ecx, dword [edi]
add ecx, 6
push ecx
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x5c]
mov byte [esp + 0x310], 8
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CString::TrimRight
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x3c]
push 1
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004cf4b0
add esp, 0x10
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::TrimRight
lea ecx, [esp + 0x5c]
mov byte [esp + 0x310], 7
call sub.MFC42.DLL_CString::CString
mov eax, dword [edi]
push 3
push 0x622464
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x50dd4c
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x20]
cmp edx, ebx
jle 0x50dd4c
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x70]
cmp byte [ecx + 0x56], 0
jne 0x50dd47
inc ebx
add eax, 4
cmp ebx, edx
jl 0x50dd32
jmp 0x50dd4c
mov byte [esp + 0x22], 1
mov edx, dword [edi]
push 2
push 0x6173b8
push edx
call esi
add esp, 0xc
test eax, eax
je 0x50de82
mov eax, dword [esp + 0x48]
push 3
push 0x622460
mov ecx, dword [eax]
push ecx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50de82
mov edx, dword [esp + 0x48]
push 3
push 0x62245c
mov eax, dword [edx]
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50de82
mov ecx, dword [esp + 0x48]
push 2
push 0x622458
mov edx, dword [ecx]
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50de82
mov ebx, dword [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebx]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
jb 0x50de0a
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
push 2
push 0x622454
push edx
call esi
add esp, 0xc
test eax, eax
jne 0x50de10
mov eax, dword [ebx]
mov al, byte [eax + 2]
cmp al, 0x20
je 0x50de82
push eax
call fcn.004ecf00
add esp, 4
test al, al
jne 0x50de82
jmp 0x50de10
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
mov ecx, dword [ebx]
push 2
push 0x622450
push ecx
call esi
add esp, 0xc
test eax, eax
jne 0x50de49
mov edx, dword [ebx]
push 3
push 0x62244c
push edx
call esi
add esp, 0xc
test eax, eax
je 0x50de49
mov eax, dword [ebx]
push 4
push str.TOUR
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x50de82
mov ecx, dword [ebx]
push 2
push 0x622440
push ecx
call esi
add esp, 0xc
test eax, eax
je 0x50de82
mov edx, dword [ebx]
push 2
push 0x62243c
push edx
call esi
add esp, 0xc
test eax, eax
je 0x50de82
mov eax, dword [ebx]
push 2
push 0x622438
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x50df00
mov ebx, dword [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
mov esi, 2
mov edx, dword [ebx]
mov byte [esp + 0x2b], 1
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, esi
jle 0x50defa
mov al, byte [edx + esi]
cmp al, 0x30
jl 0x50dead
cmp al, 0x39
jle 0x50dec0
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
inc esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp esi, ecx
jl 0x50dea2
jmp 0x50defa
add edx, esi
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
mov ecx, dword [ebx]
mov esi, dword [sym.imp.MSVCRT.dll_strstr]
push 0x622434
push ecx
mov dword [esp + 0x20], eax
call esi
add esp, 0xc
test eax, eax
jne 0x50def5
mov edx, dword [ebx]
push 0x622430
push edx
call esi
add esp, 8
test eax, eax
je 0x50defa
mov byte [esp + 0x32], 1
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
mov al, byte [esp + 0x2b]
mov byte [esp + 0x33], 0
test al, al
je 0x50df53
mov eax, dword [ebx]
push 2
push 0x6173b8
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x50df4e
mov edx, dword [ebx]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jbe 0x50df4e
mov cl, byte [edx + 3]
push ecx
call fcn.004ecf00
add esp, 4
test al, al
jne 0x50df4e
mov al, byte [esp + 0x32]
mov byte [esp + 0x33], 1
test al, al
je 0x50df53
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x1c], 0
mov eax, dword [edx + 0x20]
test eax, eax
jle 0x50e3b2
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 0x1c]
mov al, byte [esp + 0x3b]
cmp al, 1
mov esi, dword [ecx + edx*4]
jne 0x50dfd9
mov edx, dword [esi + 0x70]
mov edi, str.travelsky
mov eax, dword [edx + 8]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x50dfb3
test cl, cl
je 0x50dfaf
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x50dfb3
add eax, 2
add edi, 2
test cl, cl
jne 0x50df8f
xor eax, eax
jmp 0x50dfb8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x50e38a
cmp byte [edx + 0x92], 1
je 0x50e38a
mov edi, dword [sym.imp.MSVCRT.dll_strncmp]
mov ebx, dword [esp + 0x2c]
jmp 0x50dfdf
mov edi, dword [sym.imp.MSVCRT.dll_strncmp]
cmp byte [esp + 0x22], 1
jne 0x50dff4
mov eax, dword [esi + 0x70]
mov cl, byte [eax + 0x56]
test cl, cl
je 0x50e38e
mov al, byte [esi + 0x12a]
test al, al
jne 0x50e023
mov ecx, dword [esi + 0x70]
mov al, byte [ecx + 0x100]
test al, al
jne 0x50e023
mov edx, dword [ebp + 8]
push 6
push 0x621838
push edx
call edi
add esp, 0xc
test eax, eax
jne 0x50e38e
cmp byte [esi + 0xc30], 1
jne 0x50e044
mov eax, dword [ebp + 8]
push 6
push 0x621838
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x50e38e
cmp byte [esi + 0x12b], 1
jne 0x50e065
mov ecx, dword [ebp + 8]
push 6
push 0x621838
push ecx
call edi
add esp, 0xc
test eax, eax
jne 0x50e38e
mov eax, dword [esi + 0x70]
mov cl, byte [eax + 0xc9]
test cl, cl
je 0x50e083
mov ecx, dword [esi + 0x34]
mov edx, dword [ecx + 0x78]
mov edi, dword [ecx + 0x7c]
cmp edx, edi
jge 0x50e38e
mov cl, byte [eax + 0xc8]
test cl, cl
je 0x50e0a6
mov ecx, dword [esi + 0x34]
mov edx, dword [ecx + 0x74]
mov edi, dword [ecx + 0x6c]
add edx, edi
mov edi, dword [ecx + 0x70]
add edi, dword [ecx + 0x68]
cmp edx, edi
jge 0x50e38e
mov cl, byte [eax + 0xec]
test cl, cl
jne 0x50e154
mov cl, byte [esp + 0x2b]
test cl, cl
je 0x50e154
mov cl, byte [esp + 0x33]
test cl, cl
jne 0x50e146
mov edi, dword [esp + 0x14]
test edi, edi
jle 0x50e38e
mov cl, byte [eax + 0x57]
test cl, cl
je 0x50e38e
mov eax, dword [eax + 0x5c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50e154
mov al, byte [esp + 0x32]
test al, al
jne 0x50e154
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::CString_1
push edi
lea ecx, [esp + 0x64]
push 0x6219bc
push ecx
mov byte [esp + 0x31c], 9
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x6c]
mov ecx, dword [esi + 0x70]
add esp, 0xc
add ecx, 0x5c
push edx
call sub.MFC42.DLL_CString::Find_1
test eax, eax
mov byte [esp + 0x310], 7
lea ecx, [esp + 0x60]
jge 0x50e13f
call sub.MFC42.DLL_CString::CString
jmp 0x50e38e
call sub.MFC42.DLL_CString::CString
jmp 0x50e154
mov cl, byte [eax + 0xe0]
test cl, cl
je 0x50e38e
mov al, byte [ebp + 0x13]
test al, al
je 0x50e1ab
mov edi, dword [esp + 0x48]
push 3
push 0x60f3e8
mov eax, dword [edi]
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50e1ab
mov ecx, dword [edi]
push 4
push 0x60f388
push ecx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50e1ab
mov eax, dword [esi + 0x70]
lea edx, [ebp + 0xc]
add eax, 0x20
push edx
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x50e38e
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx - 8]
test eax, eax
je 0x50e1d2
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 0xa8]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x50e38e
mov ecx, esi
call fcn.00507300
cmp eax, 0x1b
jne 0x50e1ec
mov al, byte [esi + 0x128]
test al, al
jne 0x50f959
mov ecx, esi
call fcn.00507300
cmp eax, 0x1c
je 0x50e38e
mov ecx, dword [ebp + 8]
lea edi, [esi + 0x98]
push ecx
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x50e256
mov ecx, esi
call fcn.00507300
cmp eax, 0xa
je 0x50e234
cmp eax, 0xb
je 0x50e234
cmp eax, 0xc
je 0x50e234
cmp eax, 0xd
je 0x50e234
cmp eax, 0xe
jne 0x50e256
mov eax, dword [esi + 0xd8]
xor edx, edx
mov dx, word [ebp + 0x16]
cmp eax, edx
jl 0x50e598
mov byte [esp + 0x23], 1
mov dword [esp + 0x10], esi
jmp 0x50e38e
mov al, byte [esi + 0x90]
test al, al
je 0x50e281
cmp dword [esi + 0x120], 0xf
jne 0x50e273
mov byte [esp + 0x23], 1
jmp 0x50e38e
mov byte [esp + 0x31], 1
mov dword [esp + 0x68], edi
jmp 0x50e38e
mov ecx, esi
call fcn.00507300
cmp eax, 0xb
je 0x50e383
cmp eax, 0xc
je 0x50e383
cmp eax, 0xd
je 0x50e383
cmp eax, 0xe
je 0x50e383
cmp eax, 0xa
jne 0x50e38e
mov eax, dword [esi + 0x70]
test ebx, ebx
je 0x50e31f
add eax, 0x20
lea edi, [ebp + 0xc]
push edi
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
je 0x50e2ee
mov eax, dword [ebx + 0x70]
push edi
add eax, 0x20
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
je 0x50e38e
mov eax, dword [esi + 0x70]
push edi
add eax, 0x20
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x50e350
mov eax, dword [ebx + 0x70]
push edi
add eax, 0x20
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
je 0x50e350
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0xe4]
cmp ecx, 0xfffffff6
jle 0x50e37d
mov edx, dword [esi + 0x34]
add ecx, 0xa
mov ebx, esi
mov byte [esp + 0x23], 1
mov eax, dword [edx + 0x78]
mov dword [esp + 0x2c], ebx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv ecx
mov dword [esp + 0x58], eax
jmp 0x50e38e
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0xe4]
cmp ecx, 0xfffffff6
jle 0x50e383
mov edx, dword [esi + 0x34]
add ecx, 0xa
mov eax, dword [edx + 0x78]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv ecx
cmp eax, dword [esp + 0x58]
jae 0x50e383
mov dword [esp + 0x58], eax
mov ebx, esi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x23], 1
jmp 0x50e38e
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
inc eax
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x1c], eax
cmp eax, edx
jl 0x50df6e
mov al, byte [esp + 0x23]
test al, al
jne 0x50e5a3
mov al, byte [esp + 0x2b]
test al, al
je 0x50e5c7
lea edx, [esp + 0x108]
push 0x622398
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x635400]
add esp, 8
test eax, eax
je 0x50e43d
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50e43d
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp + 4]
lea eax, [esp + 0x108]
push eax
push str._TX_
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x635400]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb7d0
mov eax, dword [0x635400]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c560
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50e493
lea ecx, [esp + 0x108]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [ebp + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x320], 0x19
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x62ffa8]
mov byte [esp + 0x31c], 7
call fcn.00454220
mov eax, dword [0x62fc60]
test eax, eax
je 0x50e7d4
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x50e7d4
mov ebx, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x50e587
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50e587
call fcn.0044c560
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50e582
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50e582
mov ecx, dword [ebp + 4]
push ecx
lea ecx, [esp + 0x74]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x70]
mov byte [esp + 0x310], 0x1a
mov eax, dword [ecx - 8]
test eax, eax
je 0x50e571
mov al, byte [esi + 0x80]
test al, al
je 0x50e571
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x50e571
lea edx, [esp + 0x108]
lea eax, [esp + 0x70]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov edx, dword [ebp + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x320], 0x1b
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
mov byte [esp + 0x31c], 0x1a
call fcn.004024b0
lea ecx, [esp + 0x70]
mov byte [esp + 0x310], 7
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x62fc60]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x50e4b3
jmp 0x50e7d4
mov ebx, esi
mov byte [esp + 0x1b], 1
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x50ecc6
test ebx, ebx
jne 0x50ecbf
mov ebx, eax
mov byte [esp + 0x1b], 1
mov dword [esp + 0x2c], ebx
jmp 0x50ee0c
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50e7f0
mov cl, byte [esp + 0x31]
push eax
test cl, cl
jne 0x50e5f7
lea edx, [esp + 0x10c]
push 0x622370
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
jmp 0x50e612
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x10c]
push eax
push 0x621aac
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov eax, dword [0x635400]
test eax, eax
je 0x50e67b
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50e67b
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 4]
lea edx, [esp + 0x108]
push edx
push str._TX_
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x635400]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb7d0
mov eax, dword [0x635400]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c560
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50e6d1
lea ecx, [esp + 0x108]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [ebp + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x320], 0x1c
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x62ffa8]
mov byte [esp + 0x31c], 7
call fcn.00454220
mov eax, dword [0x62fc60]
test eax, eax
je 0x50e7d4
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x50e7d4
mov ebx, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x50e7c8
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50e7c8
call fcn.0044c560
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50e7c3
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50e7c3
mov ecx, dword [ebp + 4]
push ecx
lea ecx, [esp + 0x80]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x7c]
mov byte [esp + 0x310], 0x1d
mov eax, dword [ecx - 8]
test eax, eax
je 0x50e7b2
mov al, byte [esi + 0x80]
test al, al
je 0x50e7b2
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x50e7b2
lea edx, [esp + 0x108]
lea eax, [esp + 0x7c]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov edx, dword [ebp + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x320], 0x1e
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
mov byte [esp + 0x31c], 0x1d
call fcn.004024b0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x310], 7
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x62fc60]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x50e6f1
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x24]
push eax
mov ecx, esi
call fcn.0058d100
test eax, eax
je 0x50ec03
jmp 0x50ebef
mov al, byte [esp + 0x31]
test al, al
jne 0x50e9fe
mov eax, dword [ebp + 8]
lea edx, [ebp + 0xc]
push edx
push eax
lea ecx, [esp + 0x110]
push str.ERROR:_
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x635400]
add esp, 0x10
test eax, eax
je 0x50e883
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50e883
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 4]
lea edx, [esp + 0x108]
push edx
push str._TX_
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x635400]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb7d0
mov eax, dword [0x635400]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c560
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50e8d9
lea ecx, [esp + 0x108]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [ebp + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x320], 0x1f
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x62ffa8]
mov byte [esp + 0x31c], 7
call fcn.00454220
mov eax, dword [0x62fc60]
test eax, eax
je 0x50e9d9
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x50e9d9
mov ebx, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x50e9cd
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50e9cd
call fcn.0044c560
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50e9c8
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50e9c8
mov ecx, dword [ebp + 4]
push ecx
lea ecx, [esp + 0x70]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x6c]
mov byte [esp + 0x310], 0x20
mov eax, dword [ecx - 8]
test eax, eax
je 0x50e9b7
mov al, byte [esi + 0x80]
test al, al
je 0x50e9b7
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x50e9b7
lea edx, [esp + 0x108]
lea eax, [esp + 0x6c]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov edx, dword [ebp + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x320], 0x21
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
mov byte [esp + 0x31c], 0x20
call fcn.004024b0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x310], 7
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x62fc60]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x50e8f9
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x24]
push eax
mov ecx, esi
call fcn.0058d100
test eax, eax
je 0x50ec03
mov edx, dword [eax]
push 0
push 0x622328
jmp 0x50ebfb
mov ecx, dword [esp + 0x68]
lea eax, [ebp + 0xc]
push eax
push ecx
lea edx, [esp + 0x110]
push 0x621aac
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x635400]
add esp, 0x10
test eax, eax
je 0x50ea86
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50ea86
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp + 4]
lea eax, [esp + 0x108]
push eax
push str._TX_
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x635400]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb7d0
mov eax, dword [0x635400]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c560
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50eadc
lea ecx, [esp + 0x108]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [ebp + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x320], 0x22
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x62ffa8]
mov byte [esp + 0x31c], 7
call fcn.00454220
mov eax, dword [0x62fc60]
test eax, eax
je 0x50ebdc
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x50ebdc
mov ebx, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x50ebd0
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50ebd0
call fcn.0044c560
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50ebcb
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50ebcb
mov ecx, dword [ebp + 4]
push ecx
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x310], 0x23
mov eax, dword [ecx - 8]
test eax, eax
je 0x50ebba
mov al, byte [esi + 0x80]
test al, al
je 0x50ebba
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x50ebba
lea edx, [esp + 0x108]
lea eax, [esp + 0x78]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov edx, dword [ebp + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x320], 0x24
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
mov byte [esp + 0x31c], 0x23
call fcn.004024b0
lea ecx, [esp + 0x78]
mov byte [esp + 0x310], 7
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x62fc60]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x50eafc
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x24]
push eax
mov ecx, esi
call fcn.0058d100
test eax, eax
je 0x50ec03
mov edx, dword [eax]
lea ecx, [esp + 0x108]
push 0
push ecx
mov ecx, eax
call dword [edx + 0x90]
mov dword [esp + 0x10], ebp
mov eax, dword [ebp + 8]
mov byte [esp + 0x310], 0x25
push eax
call sub.MFC42.DLL_operatordelete
xor edi, edi
mov dword [ebp + 8], edi
mov eax, dword [ebp + 4]
push eax
call sub.MFC42.DLL_operatordelete
mov dword [ebp + 4], edi
mov eax, dword [ebp + 0x2c]
add esp, 8
cmp eax, edi
jle 0x50ec56
mov edx, dword [ebp + 0x28]
mov ebx, dword [edx + edi*4]
test ebx, ebx
je 0x50ec4e
mov eax, dword [ebx]
push eax
call sub.MFC42.DLL_operatordelete
push ebx
call sub.MFC42.DLL_operatordelete
add esp, 8
mov eax, dword [ebp + 0x2c]
inc edi
cmp edi, eax
jl 0x50ec33
lea edi, [ebp + 0x24]
push 0xffffffffffffffff
push 0
mov ecx, edi
call fcn.00533060
mov dword [edi], 0x5cc13c
mov eax, dword [edi + 4]
test eax, eax
je 0x50ec7a
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push ebp
mov dword [edi], 0x5c2040
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi + 0x318]
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + 0x314]
sub eax, edx
add esp, 4
dec eax
lea edi, [ecx + edx*4]
je 0x50ecb4
shl eax, 2
lea ecx, [ecx + edx*4 + 4]
push eax
push ecx
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
dec dword [esi + 0x318]
jmp 0x50f864
mov byte [eax + 0x98], 0
mov al, byte [esp + 0x1b]
test al, al
jne 0x50ee0c
cmp byte [ebp + 0x1a], 1
jne 0x50ee28
lea ecx, [esp + 0x80]
call sub.MFC42.DLL_CString::CString_1
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x24]
push edx
mov ecx, esi
mov byte [esp + 0x314], 0x26
call fcn.0058d100
mov edi, eax
mov eax, dword [ebp + 0x28]
lea edx, [esp + 0x80]
mov eax, dword [eax]
mov ecx, dword [eax]
push ecx
push 0x10
push 0x622304
push edx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x90]
mov eax, dword [edi]
add esp, 0x10
xor ebx, ebx
push ebx
push ecx
mov ecx, edi
call dword [eax + 0x90]
mov dword [esp + 0x10], ebp
mov eax, dword [ebp + 8]
mov byte [esp + 0x310], 0x27
push eax
call sub.MFC42.DLL_operatordelete
mov dword [ebp + 8], ebx
mov eax, dword [ebp + 4]
push eax
call sub.MFC42.DLL_operatordelete
mov dword [ebp + 4], ebx
mov eax, dword [ebp + 0x2c]
add esp, 8
xor edi, edi
cmp eax, ebx
jle 0x50ed88
mov edx, dword [ebp + 0x28]
mov ebx, dword [edx + edi*4]
test ebx, ebx
je 0x50ed80
mov eax, dword [ebx]
push eax
call sub.MFC42.DLL_operatordelete
push ebx
call sub.MFC42.DLL_operatordelete
add esp, 8
mov eax, dword [ebp + 0x2c]
inc edi
cmp edi, eax
jl 0x50ed65
lea edi, [ebp + 0x24]
push 0xffffffffffffffff
push 0
mov ecx, edi
call fcn.00533060
mov dword [edi], 0x5cc13c
mov eax, dword [edi + 4]
test eax, eax
je 0x50edac
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push ebp
mov dword [edi], 0x5c2040
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi + 0x318]
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + 0x314]
sub eax, edx
add esp, 4
dec eax
lea edi, [ecx + edx*4]
je 0x50ede6
shl eax, 2
lea ecx, [ecx + edx*4 + 4]
push eax
push ecx
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
mov eax, dword [esi + 0x318]
lea ecx, [esp + 0x80]
dec eax
mov byte [esp + 0x310], 7
mov dword [esi + 0x318], eax
call sub.MFC42.DLL_CString::CString
jmp 0x50f864
mov al, byte [ebx + 0x11b]
test al, al
jne 0x50ee28
cmp byte [ebp + 0x19], 1
jne 0x50ee28
mov byte [esp + 0x1b], 0
mov byte [ebx + 0x11b], 1
test ebx, ebx
jne 0x50ee35
inc dword [esp + 0x50]
jmp 0x50f864
mov esi, str.XXX000
lea eax, [ebp + 0xc]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x50ee65
test cl, cl
je 0x50ee61
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x50ee65
add eax, 2
add esi, 2
test cl, cl
jne 0x50ee3d
xor eax, eax
jmp 0x50ee6a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x50eebc
mov esi, dword [ebp + 0x2c]
xor ebx, ebx
test esi, esi
mov dword [esp + 0x10], esi
jle 0x50eebc
mov eax, dword [ebp + 0x28]
push str.XXX000
mov eax, dword [eax + ebx*4]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x50eeb7
mov edx, dword [esp + 0x2c]
mov edi, eax
mov ecx, dword [edx + 0x70]
mov esi, dword [ecx + 0x20]
mov ecx, dword [esi - 8]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
inc ebx
cmp ebx, esi
jl 0x50ee7b
mov al, byte [ebp + 0x14]
test al, al
je 0x50eee0
and eax, 0xff
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
mov dword [edi + 0x11c], eax
jmp 0x50eef3
mov edi, dword [esp + 0x2c]
mov ecx, dword [edi + 0x70]
mov edx, dword [ecx + 0x80]
mov dword [edi + 0x11c], edx
lea eax, [edi + 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [0x6350b9]
test al, al
jne 0x50efb4
mov esi, dword [edi + 0x94]
test esi, esi
mov dword [esp + 0x10], esi
je 0x50efaa
mov eax, dword [esi + 8]
mov byte [esp + 0x310], 0x28
push eax
call sub.MFC42.DLL_operatordelete
xor edi, edi
mov dword [esi + 8], edi
mov eax, dword [esi + 4]
push eax
call sub.MFC42.DLL_operatordelete
mov dword [esi + 4], edi
mov eax, dword [esi + 0x2c]
add esp, 8
cmp eax, edi
jle 0x50ef6b
mov eax, dword [esi + 0x28]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x50ef63
mov eax, dword [ebx]
push eax
call sub.MFC42.DLL_operatordelete
push ebx
call sub.MFC42.DLL_operatordelete
add esp, 8
mov eax, dword [esi + 0x2c]
inc edi
cmp edi, eax
jl 0x50ef48
lea edi, [esi + 0x24]
push 0xffffffffffffffff
push 0
mov ecx, edi
call fcn.00533060
mov dword [edi], 0x5cc13c
mov eax, dword [edi + 4]
test eax, eax
mov byte [esp + 0x310], 7
je 0x50ef97
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push esi
mov dword [edi], 0x5c2040
call sub.MFC42.DLL_operatordelete
mov edi, dword [esp + 0x30]
add esp, 4
mov dword [edi + 0x94], 0
mov ebx, dword [esp + 0x2c]
mov edx, dword [ebx + 0x50]
lea ecx, [ebx + 0x50]
call dword [edx + 0x1c]
mov edi, dword [ebp + 8]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebx + 0x98]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [esp + 0x1b]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test al, al
mov byte [ebx + 0x129], 0
je 0x50f29f
mov al, byte [ebp + 0x18]
test al, al
jne 0x50f29f
mov eax, dword [ebp + 0x2c]
cmp eax, 2
jne 0x50f065
mov ecx, dword [ebp + 0x28]
push 0x617930
mov eax, dword [ecx]
mov edx, dword [eax]
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x50f0ab
mov eax, dword [ebp + 0x28]
mov esi, dword [eax]
test esi, esi
je 0x50f045
mov eax, dword [esi]
push eax
call sub.MFC42.DLL_operatordelete
push esi
call sub.MFC42.DLL_operatordelete
add esp, 8
mov ecx, dword [ebp + 0x2c]
dec ecx
je 0x50f060
mov eax, dword [ebp + 0x28]
shl ecx, 2
lea edx, [eax + 4]
push ecx
push edx
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
dec dword [ebp + 0x2c]
jmp 0x50f0ab
dec eax
test eax, eax
jle 0x50f0ab
mov edi, eax
mov eax, dword [ebp + 0x28]
mov esi, dword [eax]
test esi, esi
je 0x50f086
mov eax, dword [esi]
push eax
call sub.MFC42.DLL_operatordelete
push esi
call sub.MFC42.DLL_operatordelete
add esp, 8
mov ecx, dword [ebp + 0x2c]
dec ecx
je 0x50f0a1
mov eax, dword [ebp + 0x28]
shl ecx, 2
lea edx, [eax + 4]
push ecx
push edx
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
mov ecx, dword [ebp + 0x2c]
dec ecx
dec edi
mov dword [ebp + 0x2c], ecx
jne 0x50f06c
lea eax, [ebx + 0x98]
push eax
lea eax, [esp + 0x8c]
push str.__s__________________
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x635400]
add esp, 0xc
test eax, eax
je 0x50f134
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50f134
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebx + 0x70]
lea ecx, [esp + 0x88]
push 0
push ecx
push 0
push ecx
add edx, 0xa8
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [0x635400]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb7d0
mov eax, dword [0x635400]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c560
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50f18c
push 0
push ecx
lea edx, [esp + 0x90]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebx + 0x70]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0x320], 0x29
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x62ffa8]
mov byte [esp + 0x31c], 7
call fcn.00454220
mov eax, dword [0x62fc60]
test eax, eax
je 0x50f7dc
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x50f7dc
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x50f28e
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50f28e
call fcn.0044c560
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50f289
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50f289
mov ecx, dword [ebx + 0x70]
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x88]
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x84]
mov byte [esp + 0x310], 0x2a
mov eax, dword [ecx - 8]
test eax, eax
je 0x50f275
mov al, byte [esi + 0x80]
test al, al
je 0x50f275
mov eax, dword [esi + 0x84]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x50f275
push eax
push ecx
lea edx, [esp + 0x8c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [ebx + 0x70]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0x320], 0x2b
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x31c], 0x2a
call fcn.004024b0
lea ecx, [esp + 0x84]
mov byte [esp + 0x310], 7
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x62fc60]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x50f1a6
jmp 0x50f7dc
push edx
lea ecx, [esp + 0x8c]
push 0x6222d4
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [ebx + 0x34]
add esp, 0xc
test eax, eax
je 0x50f2c4
mov ecx, ebx
call fcn.00507070
mov cl, byte [ebp + 0x19]
mov edx, dword [ebp + 0x28]
cmp cl, 1
push str.rawins
mov esi, dword [edx]
sete al
mov byte [ebx + 0x11b], al
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
jne 0x50f616
mov edx, dword [ebx + 0x70]
mov byte [esp + 0x22], al
mov al, byte [edx + 0x8e]
test al, al
je 0x50f31f
mov eax, dword [esi]
push 6
push 0x621b20
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x50f31f
mov byte [esp + 0x22], 1
mov ecx, dword [ebx + 0x70]
mov al, byte [ecx + 0x8d]
test al, al
jne 0x50f616
mov al, byte [esp + 0x22]
test al, al
jne 0x50f616
push 0x14
call sub.MFC42.DLL_operatornew
mov ebx, eax
add esp, 4
mov dword [esp + 0x1c], ebx
xor edi, edi
mov byte [esp + 0x310], 0x2c
cmp ebx, edi
je 0x50f3cb
mov eax, dword [ebp + 0x1c]
mov edi, 0x617930
mov dword [esp + 0x14], eax
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0x20]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x44], edx
mov esi, ecx
mov dword [esp + 0x10], esi
mov dword [ebx + 4], esi
lea ecx, [esi + 1]
push ecx
call sub.MFC42.DLL_operatornew
mov ecx, esi
mov esi, 0x617930
mov edx, ecx
mov edi, eax
shr ecx, 2
mov dword [ebx], eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x10], ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx]
mov ecx, edx
mov edx, dword [esp + 0x14]
xor edi, edi
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x44]
mov byte [ebx + 8], 0
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], eax
mov byte [ebx + 9], 0
jmp 0x50f3cf
mov dword [esp + 0x10], edi
mov edx, dword [ebp + 0x2c]
mov byte [esp + 0x310], 7
cmp edx, edi
jg 0x50f4c2
mov eax, dword [ebp + 0x28]
cmp eax, edi
jne 0x50f408
push 4
call sub.MFC42.DLL_operatornew
mov dword [ebp + 0x28], eax
mov dword [eax], edi
mov eax, 1
add esp, 4
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x2c], eax
jmp 0x50f5f0
mov ecx, dword [ebp + 0x30]
mov esi, 1
cmp ecx, esi
jl 0x50f42b
cmp edx, esi
jge 0x50f423
mov ecx, esi
lea edi, [eax + edx*4]
sub ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [ebp + 0x2c], esi
jmp 0x50f5f0
mov eax, dword [ebp + 0x34]
cmp eax, edi
jne 0x50f455
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x50f449
mov eax, 4
jmp 0x50f455
cmp eax, 0x400
jle 0x50f455
mov eax, 0x400
add eax, ecx
cmp eax, esi
mov dword [esp + 0x1c], eax
jg 0x50f463
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x1c]
lea edx, [ecx*4]
push edx
call sub.MFC42.DLL_operatornew
mov ecx, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x28]
shl ecx, 2
mov ebx, eax
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x2c]
mov ecx, 1
sub ecx, eax
lea edi, [ebx + eax*4]
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x28]
push eax
call sub.MFC42.DLL_operatordelete
mov ecx, dword [esp + 0x24]
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x2c], 1
add esp, 8
mov dword [ebp + 0x30], ecx
jmp 0x50f5f0
mov eax, dword [ebp + 0x28]
lea ebx, [edx + 1]
cmp ebx, edi
mov dword [esp + 0x44], edx
jne 0x50f4eb
cmp eax, edi
je 0x50f4e0
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [ebp + 0x28], edi
mov dword [ebp + 0x30], edi
mov dword [ebp + 0x2c], edi
jmp 0x50f5ce
cmp eax, edi
jne 0x50f514
lea edx, [ebx*4]
push edx
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp + 0x28], eax
push ebx
push eax
call fcn.005752e0
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x2c], ebx
jmp 0x50f5ce
mov ecx, dword [ebp + 0x30]
cmp ebx, ecx
jg 0x50f535
cmp ebx, edx
jle 0x50f52d
mov ecx, ebx
sub ecx, edx
lea edx, [eax + edx*4]
push ecx
push edx
call fcn.005752e0
mov dword [ebp + 0x2c], ebx
jmp 0x50f5ce
mov eax, dword [ebp + 0x34]
cmp eax, edi
jne 0x50f55f
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x50f553
mov eax, 4
jmp 0x50f55f
cmp eax, 0x400
jle 0x50f55f
mov eax, 0x400
add eax, ecx
cmp ebx, eax
mov dword [esp + 0x1c], eax
jl 0x50f56d
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x1c]
lea ecx, [eax*4]
push ecx
call sub.MFC42.DLL_operatornew
mov ecx, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x28]
shl ecx, 2
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, ebx
and ecx, 3
add esp, 4
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x14], eax
sub edx, ecx
lea eax, [eax + ecx*4]
push edx
push eax
call fcn.005752e0
mov eax, dword [ebp + 0x28]
push eax
call sub.MFC42.DLL_operatordelete
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [ebp + 0x28], ecx
add esp, 4
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x30], edx
xor edi, edi
mov ecx, dword [esp + 0x44]
mov eax, dword [ebp + 0x28]
lea edx, [ecx*4]
push edx
push eax
add eax, 4
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [ebp + 0x28]
add esp, 0xc
mov dword [eax], edi
mov edx, dword [esp + 0x10]
xor ecx, ecx
xor eax, eax
mov esi, dword [ebp + 0x28]
add eax, 4
mov dword [eax + esi - 4], edx
mov esi, ecx
dec ecx
test esi, esi
jne 0x50f5f8
mov eax, dword [esp + 0x2c]
mov ebx, eax
mov byte [eax + 0x129], 1
mov eax, dword [0x635400]
test eax, eax
je 0x50f682
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50f682
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebx + 0x70]
lea ecx, [esp + 0x88]
push 0
push ecx
push 0
push ecx
add edx, 0xa8
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [0x635400]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb7d0
mov eax, dword [0x635400]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c560
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50f6da
push 0
push ecx
lea edx, [esp + 0x90]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebx + 0x70]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0x320], 0x2d
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x62ffa8]
mov byte [esp + 0x31c], 7
call fcn.00454220
mov eax, dword [0x62fc60]
test eax, eax
je 0x50f7dc
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x50f7dc
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x50f7d0
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50f7d0
call fcn.0044c560
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50f7cb
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50f7cb
mov ecx, dword [ebx + 0x70]
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x78]
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x74]
mov byte [esp + 0x310], 0x2e
mov eax, dword [ecx - 8]
test eax, eax
je 0x50f7ba
mov al, byte [esi + 0x80]
test al, al
je 0x50f7ba
mov eax, dword [esi + 0x84]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x50f7ba
push eax
push ecx
lea edx, [esp + 0x7c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [ebx + 0x70]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0x320], 0x2f
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x31c], 0x2e
call fcn.004024b0
lea ecx, [esp + 0x74]
mov byte [esp + 0x310], 7
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x62fc60]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x50f6f4
xor ecx, ecx
lea eax, [ebx + 0x58]
mov cx, word [ebp]
push eax
mov dword [ebx + 0x80], ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [ebx + 0x50]
mov dword [ebx + 0x94], ebp
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov al, byte [esp + 0x1b]
test al, al
je 0x50f811
add dword [ebx + 0xd8], 2
jmp 0x50f81b
mov dword [ebx + 0xd8], 2
push 0
push 0xc
mov ecx, ebx
call fcn.00506ba0
mov al, byte [0x6350b9]
test al, al
jne 0x50f864
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
mov eax, dword [edi + 0x318]
mov ecx, dword [edi + 0x314]
sub eax, edx
dec eax
lea esi, [ecx + edx*4]
je 0x50f85e
shl eax, 2
lea ecx, [ecx + edx*4 + 4]
push eax
push ecx
push esi
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
dec dword [edi + 0x318]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x310], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor ebx, ebx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
mov dword [esp + 0x64], eax
jl 0x50d56d
mov esi, dword [esp + 0x54]
cmp esi, ebx
mov dword [esp + 0x4c], esi
je 0x50f940
mov eax, dword [esi + 4]
mov dword [esp + 0x310], 0x31
push eax
call sub.MFC42.DLL_operatordelete
mov dword [esi + 4], ebx
mov eax, dword [esi + 0x10]
push eax
call sub.MFC42.DLL_operatordelete
mov dword [esi + 0x10], ebx
mov al, byte [esi + 0xc]
add esp, 8
test al, al
jne 0x50f8ed
mov eax, dword [esi + 0x20]
xor edi, edi
cmp eax, ebx
jle 0x50f8ed
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + edi*4]
cmp ecx, ebx
je 0x50f8e5
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esi + 0x20]
inc edi
cmp edi, eax
jl 0x50f8d5
mov eax, dword [esi + 0x1c]
cmp eax, ebx
je 0x50f900
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x18], 0x5cd370
mov eax, dword [esi + 0x1c]
cmp eax, ebx
je 0x50f91d
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esi + 0x14]
mov dword [esi + 0x18], 0x5c2040
mov dword [esp + 0x310], 0xffffffff
call sub.MFC42.DLL_CString::CString
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [esp + 0x308]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x304
ret
mov eax, dword [esi + 0x70]
test eax, eax
je 0x50fa88
mov eax, dword [eax + 0xbc]
mov ecx, esi
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
shl edx, 2
push edx
call sym.ETermProxy.exe_public:_bool___thiscall_CClientObject::CheckTimeout_int_
test al, al
jne 0x50fa88
mov eax, dword [0x635400]
test eax, eax
je 0x50f9f0
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50f9f0
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0x70]
push 0
push str.ERROR:_PID
push 0x6095c0
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x635400]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb7d0
mov eax, dword [0x635400]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
push str.ERROR:_PID
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x318], 0xa
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x6095c0
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esi + 0x70]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
mov byte [esp + 0x320], 0xb
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x320], 0xc
mov ecx, esp
mov dword [esp + 0x78], esp
push 0x60e1f4
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x62ffdc]
mov byte [esp + 0x320], 7
call fcn.00458cb0
mov ecx, dword [ebp + 8]
mov ebx, dword [esp + 0x24]
push ecx
mov ecx, ebx
call fcn.0058d100
test eax, eax
je 0x50fb93
mov edx, dword [eax]
push 0
push 0x62228c
jmp 0x50fb8b
mov byte [esi + 0x128], 0
mov eax, dword [0x635400]
test eax, eax
je 0x50fafc
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50fafc
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0x70]
push 0
push 0x622254
push 0x6095c0
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x635400]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb7d0
mov eax, dword [0x635400]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x622254
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x318], 0xd
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x6095c0
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esi + 0x70]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
mov byte [esp + 0x320], 0xe
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x320], 0xf
mov ecx, esp
mov dword [esp + 0x78], esp
push 0x60e1f4
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x62ffdc]
mov byte [esp + 0x320], 7
call fcn.00458cb0
mov ecx, dword [ebp + 8]
mov ebx, dword [esp + 0x24]
push ecx
mov ecx, ebx
call fcn.0058d100
test eax, eax
je 0x50fb93
mov edx, dword [eax]
push 0
push 0x622254
mov ecx, eax
call dword [edx + 0x90]
xor edi, edi
mov dword [esp + 0x4c], ebp
cmp ebp, edi
je 0x50fc13
mov eax, dword [ebp + 8]
mov byte [esp + 0x310], 0x10
push eax
call sub.MFC42.DLL_operatordelete
mov dword [ebp + 8], edi
mov eax, dword [ebp + 4]
push eax
call sub.MFC42.DLL_operatordelete
mov dword [ebp + 4], edi
mov eax, dword [ebp + 0x2c]
add esp, 8
xor esi, esi
cmp eax, edi
jle 0x50fbec
mov eax, dword [ebp + 0x28]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x50fbe4
mov eax, dword [edi]
push eax
call sub.MFC42.DLL_operatordelete
push edi
call sub.MFC42.DLL_operatordelete
add esp, 8
mov eax, dword [ebp + 0x2c]
inc esi
cmp esi, eax
jl 0x50fbc9
lea esi, [ebp + 0x24]
xor edi, edi
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.00533060
mov ecx, esi
mov byte [esp + 0x310], 7
call fcn.004b9e50
push ebp
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [ebx + 0x318]
mov edx, dword [esp + 0x50]
mov ecx, dword [ebx + 0x314]
sub eax, edx
dec eax
lea esi, [ecx + edx*4]
je 0x50fc3e
shl eax, 2
lea ecx, [ecx + edx*4 + 4]
push eax
push ecx
push esi
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
mov ecx, dword [ebx + 0x318]
mov esi, dword [esp + 0x54]
dec ecx
cmp esi, edi
mov dword [ebx + 0x318], ecx
mov dword [esp + 0x4c], esi
je 0x50fcd6
mov eax, dword [esi + 4]
mov byte [esp + 0x310], 0x12
push eax
call sub.MFC42.DLL_operatordelete
mov dword [esi + 4], edi
mov eax, dword [esi + 0x10]
push eax
call sub.MFC42.DLL_operatordelete
mov dword [esi + 0x10], edi
mov al, byte [esi + 0xc]
add esp, 8
test al, al
jne 0x50fca0
mov eax, dword [esi + 0x20]
test eax, eax
jle 0x50fca0
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + edi*4]
test ecx, ecx
je 0x50fc98
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esi + 0x20]
inc edi
cmp edi, eax
jl 0x50fc88
lea edi, [esi + 0x18]
push 0xffffffffffffffff
push 0
mov ecx, edi
call fcn.00533060
mov ecx, edi
mov byte [esp + 0x310], 0x11
call fcn.00512640
lea ecx, [esi + 0x14]
mov byte [esp + 0x310], 7
call sub.MFC42.DLL_CString::CString
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x3c]
mov dword [esp + 0x310], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x50f940