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

Disassembly:
push 0xffffffffffffffff
push 0x5b7fb7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x314
mov eax, dword [ecx + 0x318]
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x48], eax
je 0x50fb4b
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ebx
jle 0x50fa99
mov esi, dword [esp + 0x60]
test esi, esi
je 0x50d52d
mov ecx, esi
call fcn.00512e40
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
mov ecx, dword [eax + 0x314]
mov eax, dword [ecx + edx*4]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x50fa7e
mov ecx, dword [eax + 0x28]
mov ebx, dword [sym.imp.MSVCRT.dll__strnicmp]
xor edi, edi
push 5
mov ebp, dword [ecx]
push str.SI:NW
mov dword [esp + 0x30], ebp
mov dword [esp + 0x38], edi
mov dl, byte [ebp + 8]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x54], edi
mov eax, dword [ebp]
push eax
mov byte [esp + 0x5e], dl
mov byte [esp + 0x33], 0
mov byte [esp + 0x27], 0
mov byte [esp + 0x52], 0
call ebx
add esp, 0xc
test eax, eax
jne 0x50d67b
mov ecx, dword [ebp]
push ecx
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x58]
mov dword [esp + 0x32c], edi
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::TrimRight
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::MakeUpper
push 0x631fbc
push str.SI:NW
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::Replace
push 0x610c34
push 0x60dba8
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::Replace
push 0x610c34
push 0x603cac
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::Replace
lea ecx, [esp + 0x90]
call sub.MFC42.DLL_CStringArray::CStringArray
push 1
push 1
push 2
lea edx, [esp + 0x9c]
push 0x2f
push edx
push ecx
lea eax, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
mov byte [esp + 0x348], 1
call sub.MFC42.DLL_CString::CString_2
call fcn.004ea160
mov eax, dword [esp + 0xb0]
add esp, 0x18
cmp eax, 1
je 0x50fb64
cmp eax, 2
je 0x50fc05
lea ecx, [esp + 0x90]
mov byte [esp + 0x32c], 0
call fcn.00594582
lea ecx, [esp + 0x58]
mov dword [esp + 0x32c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x3c]
mov esi, str.qt_group
mov edi, dword [ecx + 4]
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50d6ad
test cl, cl
je 0x50d6a9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50d6ad
add eax, 2
add esi, 2
test cl, cl
jne 0x50d689
xor eax, eax
jmp 0x50d6b2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x50d7f3
push 0x2c
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
xor edi, edi
mov dword [esp + 0x32c], 0xb
cmp esi, edi
je 0x50d70b
lea ecx, [esi + 0x14]
call sub.MFC42.DLL_CString::CString_1
mov dword [esi + 0x18], 0x5cf368
mov dword [esi + 0x1c], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x24], edi
mov dword [esi + 0x20], edi
mov dword [esi], edi
mov dword [esi + 0x10], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov byte [esi + 0xc], 0
mov dword [esp + 0x2c], esi
jmp 0x50d70f
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x32c], 0xffffffff
xor ecx, ecx
mov byte [eax + 0xc], 1
mov esi, dword [edx + 0x2f0]
cmp esi, edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x38], ecx
jle 0x50d7ea
mov eax, dword [edx + 0x2ec]
xor ebx, ebx
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x20]
lea esi, [eax + 0x20]
test edi, edi
mov dword [esp + 0x20], esi
jle 0x50d7c9
add eax, 0x1c
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov ebp, dword [edx + ebx*4]
mov eax, dword [ebp + 0x70]
mov cl, byte [eax + 0x4d]
test cl, cl
jne 0x50d7ba
mov cl, byte [eax + 0xe1]
test cl, cl
je 0x50d7ba
mov ecx, dword [esp + 0x3c]
add ecx, 0xc
cmp byte [ecx], 0
je 0x50d799
mov eax, dword [eax + 0x20]
push ecx
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x50d7ba
mov edx, dword [esp + 0x2c]
push 0xffffffffffffffff
mov edi, dword [edx + 0x20]
lea esi, [edx + 0x18]
mov ecx, esi
lea eax, [edi + 1]
push eax
call fcn.00582a70
mov ecx, dword [esi + 4]
mov esi, dword [esp + 0x20]
mov dword [ecx + edi*4], ebp
mov eax, dword [esi]
inc ebx
cmp ebx, eax
jl 0x50d75e
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov eax, dword [edx + 0x2f0]
inc ecx
cmp ecx, eax
mov dword [esp + 0x38], ecx
jl 0x50d73e
mov ebx, dword [sym.imp.MSVCRT.dll__strnicmp]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
jmp 0x50dd38
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push edi
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x20]
call fcn.00510ec0
mov edi, eax
test edi, edi
mov dword [esp + 0x2c], edi
jne 0x50d9c6
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x1c]
mov ecx, ebp
mov edx, dword [esi + 8]
lea edi, [esi + 8]
push edx
call fcn.0058d980
xor ebx, ebx
cmp eax, ebx
je 0x50d843
mov edx, dword [eax]
push ebx
push 0x624354
mov ecx, eax
call dword [edx + 0x90]
mov eax, dword [0x637760]
cmp eax, ebx
je 0x50d8a9
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50d8a9
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push ebx
push str.____ERROR:
push 0x603774
push ecx
mov dword [esp + 0x20], esp
mov eax, dword [edi]
mov ecx, esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x637760]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb100
mov eax, dword [0x637760]
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 + 0x334], 0xc
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x603774
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x338], 0xd
mov dword [esp + 0x44], esp
mov eax, dword [edi]
mov ecx, esp
push eax
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x33c], 0xe
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x6101d4
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63233c]
mov dword [esp + 0x33c], 0xffffffff
call fcn.00458d90
mov dword [esp + 0x10], esi
mov edi, dword [edi]
mov dword [esp + 0x32c], 0xf
push edi
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi + 4]
mov dword [esi + 8], ebx
push eax
call sub.MFC42.DLL_operatordelete
mov dword [esi + 4], ebx
mov eax, dword [esi + 0x2c]
add esp, 8
xor edi, edi
cmp eax, ebx
jle 0x50d967
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx + edi*4]
cmp ecx, ebx
je 0x50d95f
push 1
call fcn.00509180
mov eax, dword [esi + 0x2c]
inc edi
cmp edi, eax
jl 0x50d94e
push 0xffffffffffffffff
push ebx
lea ecx, [esi + 0x24]
call fcn.00582a70
lea ecx, [esi + 0x24]
mov dword [esp + 0x32c], 0xffffffff
call fcn.004b97d0
push esi
call sub.MFC42.DLL_operatordelete
mov eax, dword [ebp + 0x318]
mov edx, dword [esp + 0x58]
mov ecx, dword [ebp + 0x314]
lea esi, [ebp + 0x318]
sub eax, edx
add esp, 4
dec eax
lea edi, [ecx + edx*4]
je 0x50d9bf
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]
jmp 0x50fa7e
mov eax, dword [edi + 8]
cmp eax, 5
jne 0x50dafc
push 0x2c
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
xor ebx, ebx
mov dword [esp + 0x32c], 0x10
cmp esi, ebx
je 0x50da1e
lea ecx, [esi + 0x14]
call sub.MFC42.DLL_CString::CString_1
mov dword [esi + 0x18], 0x5cf368
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], bl
jmp 0x50da20
xor esi, esi
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x32c], 0xffffffff
mov byte [esi + 0xc], 1
mov ecx, dword [edx + 0x2f0]
xor eax, eax
cmp ecx, ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x38], eax
jle 0x50dae7
mov ecx, edx
mov ecx, dword [ecx + 0x2ec]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x50da6b
cmp ecx, 2
je 0x50da6b
cmp ecx, 5
jne 0x50da71
cmp dword [esp + 0x2c], eax
jne 0x50dac8
mov edx, dword [eax + 0x20]
lea ecx, [eax + 0x20]
xor ebx, ebx
mov dword [esp + 0x20], ecx
test edx, edx
jle 0x50dac8
add eax, 0x1c
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
mov ebp, dword [eax + ebx*4]
mov eax, dword [ebp + 0x70]
mov cl, byte [eax + 0x4c]
test cl, cl
jne 0x50dabf
mov cl, byte [eax + 0x4d]
test cl, cl
jne 0x50dabf
mov ecx, dword [esp + 0x40]
push 0xffffffffffffffff
mov edi, dword [ecx + 0x20]
lea esi, [ecx + 0x18]
mov ecx, esi
lea edx, [edi + 1]
push edx
call fcn.00582a70
mov eax, dword [esi + 4]
mov dword [eax + edi*4], ebp
mov ecx, dword [esp + 0x20]
inc ebx
cmp ebx, dword [ecx]
jl 0x50da88
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
inc eax
mov edx, dword [ecx + 0x2f0]
mov dword [esp + 0x38], eax
cmp eax, edx
jl 0x50da51
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
mov ebx, dword [sym.imp.MSVCRT.dll__strnicmp]
mov edi, esi
mov dword [esp + 0x2c], edi
jmp 0x50dd3c
cmp eax, 2
je 0x50db0a
cmp eax, 3
jne 0x50dd3c
mov al, byte [esp + 0x52]
test al, al
jne 0x50dd3c
mov edx, dword [esp + 0x3c]
mov al, byte [edx + 0x19]
test al, al
jne 0x50dd3c
mov eax, dword [ebp]
push 2
push 0x619084
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x50dc15
mov ecx, dword [ebp]
push 3
push 0x610cec
push ecx
call ebx
add esp, 0xc
test eax, eax
je 0x50dc15
mov edx, dword [ebp]
push 2
push 0x6113ec
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x50dc15
mov eax, dword [ebp]
push 4
push str.DETR
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x50dc15
mov ecx, dword [ebp]
push 4
push str.HELP
push ecx
call ebx
add esp, 0xc
test eax, eax
je 0x50dc15
mov edx, dword [ebp]
push 4
push str.DATE
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x50dc15
mov eax, dword [ebp]
push 4
push str.CNTD
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x50dc15
mov ecx, dword [ebp]
push 2
push 0x60c560
push ecx
call ebx
add esp, 0xc
test eax, eax
je 0x50dc15
mov edx, dword [ebp]
push 2
push 0x619554
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x50dc15
mov eax, dword [ebp]
push 2
push 0x624304
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x50dc15
mov ecx, dword [ebp]
push 2
push 0x624300
push ecx
call ebx
add esp, 0xc
test eax, eax
jne 0x50dd3c
push 0x2c
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
xor ebx, ebx
mov dword [esp + 0x32c], 0x11
cmp esi, ebx
je 0x50dc61
lea ecx, [esi + 0x14]
call sub.MFC42.DLL_CString::CString_1
mov dword [esi + 0x18], 0x5cf368
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], bl
jmp 0x50dc63
xor esi, esi
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x32c], 0xffffffff
mov byte [esi + 0xc], 1
mov ecx, dword [edx + 0x2f0]
xor eax, eax
cmp ecx, ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x38], eax
jle 0x50dd2a
mov ecx, edx
mov ecx, dword [ecx + 0x2ec]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x50dcae
cmp ecx, 2
je 0x50dcae
cmp ecx, 5
jne 0x50dcb4
cmp dword [esp + 0x2c], eax
jne 0x50dd0b
mov edx, dword [eax + 0x20]
lea ecx, [eax + 0x20]
xor ebx, ebx
mov dword [esp + 0x20], ecx
test edx, edx
jle 0x50dd0b
add eax, 0x1c
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
mov ebp, dword [eax + ebx*4]
mov eax, dword [ebp + 0x70]
mov cl, byte [eax + 0x4c]
test cl, cl
jne 0x50dd02
mov cl, byte [eax + 0x4d]
test cl, cl
jne 0x50dd02
mov ecx, dword [esp + 0x40]
push 0xffffffffffffffff
mov edi, dword [ecx + 0x20]
lea esi, [ecx + 0x18]
mov ecx, esi
lea edx, [edi + 1]
push edx
call fcn.00582a70
mov eax, dword [esi + 4]
mov dword [eax + edi*4], ebp
mov ecx, dword [esp + 0x20]
inc ebx
cmp ebx, dword [ecx]
jl 0x50dccb
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
inc eax
mov edx, dword [ecx + 0x2f0]
mov dword [esp + 0x38], eax
cmp eax, edx
jl 0x50dc94
mov esi, dword [esp + 0x40]
mov ebx, dword [sym.imp.MSVCRT.dll__strnicmp]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x2c], esi
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CString::CString_1
mov dword [esp + 0x32c], 0x12
mov dword [esp + 0x40], 0
mov edx, dword [ebp]
push 6
push str.LOCK02
push edx
mov byte [esp + 0x43], 0
mov byte [esp + 0x53], 0
mov byte [esp + 0x5f], 0
call ebx
add esp, 0xc
test eax, eax
jne 0x50dde0
mov eax, dword [ebp]
lea ecx, [esp + 0x6c]
add eax, 6
push eax
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x6c]
mov byte [esp + 0x32c], 0x13
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::TrimRight
mov eax, dword [esp + 0x6c]
lea edx, [esp + 0x5c]
push 1
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004cee40
add esp, 0x10
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CString::TrimRight
lea ecx, [esp + 0x6c]
mov byte [esp + 0x32c], 0x12
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
push 3
push 0x6242fc
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x50de18
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x50de18
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x70]
cmp byte [edx + 0x56], 0
jne 0x50de13
inc eax
add ecx, 4
cmp eax, esi
jl 0x50ddfe
jmp 0x50de18
mov byte [esp + 0x53], 1
mov eax, dword [ebp]
push 2
push 0x6190b8
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x50df4f
mov ecx, dword [esp + 0x28]
push 3
push 0x6242f8
mov edx, dword [ecx]
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50df4f
mov eax, dword [esp + 0x28]
push 3
push 0x6242f4
mov ecx, dword [eax]
push ecx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50df4f
mov edx, dword [esp + 0x28]
push 2
push 0x6242f0
mov eax, dword [edx]
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50df4f
mov ebx, dword [esp + 0x28]
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 0x50ded7
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
push 2
push 0x6242ec
push edx
call esi
add esp, 0xc
test eax, eax
jne 0x50dedd
mov ecx, dword [ebx]
mov al, byte [ecx + 2]
cmp al, 0x20
je 0x50df4f
push eax
call fcn.004ec710
add esp, 4
test al, al
jne 0x50df4f
jmp 0x50dedd
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
mov edx, dword [ebx]
push 2
push 0x6242e8
push edx
call esi
add esp, 0xc
test eax, eax
jne 0x50df16
mov eax, dword [ebx]
push 3
push 0x6242e4
push eax
call esi
add esp, 0xc
test eax, eax
je 0x50df16
mov ecx, dword [ebx]
push 4
push str.TOUR
push ecx
call esi
add esp, 0xc
test eax, eax
jne 0x50df4f
mov edx, dword [ebx]
push 2
push 0x6242d8
push edx
call esi
add esp, 0xc
test eax, eax
je 0x50df4f
mov eax, dword [ebx]
push 2
push 0x6242d4
push eax
call esi
add esp, 0xc
test eax, eax
je 0x50df4f
mov ecx, dword [ebx]
push 2
push 0x6242d0
push ecx
call esi
add esp, 0xc
test eax, eax
jne 0x50dfcd
mov ebx, dword [esp + 0x28]
or ecx, 0xffffffff
xor eax, eax
mov esi, 2
mov edx, dword [ebx]
mov byte [esp + 0x37], 1
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, esi
jle 0x50dfc7
mov al, byte [edx + esi]
cmp al, 0x30
jl 0x50df7a
cmp al, 0x39
jle 0x50df8d
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 0x50df6f
jmp 0x50dfc7
add edx, esi
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
mov esi, dword [sym.imp.MSVCRT.dll_strstr]
mov dword [esp + 0x44], eax
mov edx, dword [ebx]
push 0x6242cc
push edx
call esi
add esp, 0xc
test eax, eax
jne 0x50dfc2
mov eax, dword [ebx]
push 0x6242c8
push eax
call esi
add esp, 8
test eax, eax
je 0x50dfc7
mov byte [esp + 0x47], 1
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
mov al, byte [esp + 0x37]
mov byte [esp + 0x45], 0
test al, al
je 0x50e020
mov ecx, dword [ebx]
push 2
push 0x6190b8
push ecx
call esi
add esp, 0xc
test eax, eax
jne 0x50e01b
mov edx, dword [ebx]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jbe 0x50e01b
mov dl, byte [edx + 3]
push edx
call fcn.004ec710
add esp, 4
test al, al
jne 0x50e01b
mov al, byte [esp + 0x47]
mov byte [esp + 0x45], 1
test al, al
je 0x50e020
mov byte [esp + 0x45], 0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], 0
lea ecx, [eax + 0x20]
mov dword [esp + 0x38], ecx
cmp dword [ecx], 0
jle 0x50e4da
mov ebx, dword [esp + 0x3c]
add eax, 0x1c
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
mov al, byte [esp + 0x52]
cmp al, 1
mov edi, dword [ecx + edx*4]
jne 0x50e0a5
mov ebp, dword [edi + 0x70]
mov esi, str.travelsky
mov eax, dword [ebp + 8]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50e08b
test cl, cl
je 0x50e087
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50e08b
add eax, 2
add esi, 2
test cl, cl
jne 0x50e067
xor eax, eax
jmp 0x50e090
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x50e4a7
cmp byte [ebp + 0x92], 1
je 0x50e4a7
cmp byte [esp + 0x53], 1
jne 0x50e0ba
mov eax, dword [edi + 0x70]
mov cl, byte [eax + 0x56]
test cl, cl
je 0x50e4a7
mov al, byte [edi + 0x12a]
test al, al
jne 0x50e0ed
mov ecx, dword [edi + 0x70]
mov al, byte [ecx + 0x100]
test al, al
jne 0x50e0ed
mov edx, dword [ebx + 8]
push 6
push 0x623568
push edx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x50e4a7
cmp byte [edi + 0xc35], 1
jne 0x50e112
mov eax, dword [ebx + 8]
push 6
push 0x623568
push eax
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x50e4a7
cmp byte [edi + 0xc34], 1
jne 0x50e137
mov ecx, dword [ebx + 8]
push 6
push 0x623568
push ecx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x50e4a7
cmp byte [edi + 0x12b], 1
jne 0x50e15c
mov edx, dword [ebx + 8]
push 6
push 0x623568
push edx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x50e4a7
mov eax, dword [edi + 0x70]
mov cl, byte [eax + 0xc9]
test cl, cl
je 0x50e17a
mov ecx, dword [edi + 0x34]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
cmp edx, esi
jge 0x50e4a7
mov cl, byte [eax + 0xc8]
test cl, cl
je 0x50e19f
mov ecx, dword [edi + 0x34]
mov edx, dword [ecx + 0x74]
mov esi, dword [ecx + 0x6c]
mov ebp, dword [ecx + 0x68]
add edx, esi
mov esi, dword [ecx + 0x70]
add esi, ebp
cmp edx, esi
jge 0x50e4a7
mov cl, byte [eax + 0xec]
test cl, cl
jne 0x50e255
mov cl, byte [esp + 0x37]
test cl, cl
je 0x50e255
mov cl, byte [esp + 0x45]
test cl, cl
jne 0x50e247
mov ecx, dword [esp + 0x40]
test ecx, ecx
jle 0x50e4a7
mov cl, byte [eax + 0x57]
test cl, cl
je 0x50e4a7
mov eax, dword [eax + 0x5c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50e255
mov al, byte [esp + 0x47]
test al, al
jne 0x50e255
lea ecx, [esp + 0x68]
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x68]
push ecx
push 0x6237c8
push edx
mov byte [esp + 0x338], 0x14
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x74]
mov ecx, dword [edi + 0x70]
add esp, 0xc
add ecx, 0x5c
push eax
call sub.MFC42.DLL_CString::Find_1
test eax, eax
mov byte [esp + 0x32c], 0x12
lea ecx, [esp + 0x68]
jge 0x50e240
call sub.MFC42.DLL_CString::CString
jmp 0x50e4a7
call sub.MFC42.DLL_CString::CString
jmp 0x50e255
mov cl, byte [eax + 0xe0]
test cl, cl
je 0x50e4a7
mov al, byte [ebx + 0x13]
test al, al
je 0x50e2aa
mov esi, dword [esp + 0x28]
mov ebp, dword [sym.imp.MSVCRT.dll__strnicmp]
push 3
push 0x6113c0
mov ecx, dword [esi]
push ecx
call ebp
add esp, 0xc
test eax, eax
je 0x50e2aa
mov edx, dword [esi]
push 4
push 0x611360
push edx
call ebp
add esp, 0xc
test eax, eax
je 0x50e2aa
mov eax, dword [edi + 0x70]
lea ecx, [ebx + 0xc]
add eax, 0x20
push ecx
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x50e4a7
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx - 8]
test eax, eax
je 0x50e2d1
mov edx, dword [edi + 0x70]
mov eax, dword [edx + 0xa8]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x50e4a7
mov ecx, edi
call fcn.00507280
cmp eax, 0x1b
jne 0x50e2eb
mov al, byte [edi + 0x128]
test al, al
jne 0x51001e
mov ecx, edi
call fcn.00507280
cmp eax, 0x1c
je 0x50e4a7
mov eax, dword [ebx + 8]
lea esi, [edi + 0x98]
push eax
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x50e355
mov ecx, edi
call fcn.00507280
cmp eax, 0xa
je 0x50e333
cmp eax, 0xb
je 0x50e333
cmp eax, 0xc
je 0x50e333
cmp eax, 0xd
je 0x50e333
cmp eax, 0xe
jne 0x50e355
mov eax, dword [edi + 0xd8]
xor ecx, ecx
mov cx, word [ebx + 0x16]
cmp eax, ecx
jl 0x50e4cc
mov byte [esp + 0x27], 1
mov dword [esp + 0x14], edi
jmp 0x50e4a7
mov al, byte [edi + 0x90]
test al, al
je 0x50e37d
cmp dword [edi + 0x120], 0xf
je 0x50e4a2
mov byte [esp + 0x46], 1
mov dword [esp + 0x8c], esi
jmp 0x50e4a7
mov ecx, edi
call fcn.00507280
cmp eax, 0xb
je 0x50e4a2
cmp eax, 0xc
je 0x50e4a2
cmp eax, 0xd
je 0x50e4a2
cmp eax, 0xe
je 0x50e4a2
cmp eax, 0xa
jne 0x50e4a7
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x50e3e5
mov edx, dword [edi + 0x70]
mov ecx, dword [edx + 0xe4]
cmp ecx, 0xfffffff6
jle 0x50e49e
mov eax, dword [edi + 0x34]
add ecx, 0xa
mov eax, dword [eax + 0x78]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv ecx
jmp 0x50e49a
mov eax, dword [edi + 0x70]
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
add eax, 0x20
lea esi, [ebx + 0xc]
push esi
mov eax, dword [eax]
push eax
call ebp
add esp, 8
test eax, eax
je 0x50e422
mov ecx, dword [esp + 0x30]
push esi
mov eax, dword [ecx + 0x70]
add eax, 0x20
mov eax, dword [eax]
push eax
call ebp
add esp, 8
test eax, eax
je 0x50e4a7
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov eax, dword [edi + 0x70]
push esi
add eax, 0x20
mov eax, dword [eax]
push eax
call ebp
add esp, 8
test eax, eax
jne 0x50e471
mov edx, dword [esp + 0x30]
push esi
mov eax, dword [edx + 0x70]
add eax, 0x20
mov eax, dword [eax]
push eax
call ebp
add esp, 8
test eax, eax
je 0x50e471
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + 0xe4]
cmp ecx, 0xfffffff6
jle 0x50e49e
mov edx, dword [edi + 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
jmp 0x50e49a
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + 0xe4]
cmp ecx, 0xfffffff6
jle 0x50e4a2
mov edx, dword [edi + 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 + 0x4c]
jae 0x50e4a2
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], edi
mov byte [esp + 0x27], 1
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
inc eax
mov edx, dword [ecx]
mov dword [esp + 0x20], eax
cmp eax, edx
jl 0x50e047
mov al, byte [esp + 0x27]
test al, al
jne 0x50edcb
jmp 0x50e4de
mov byte [esp + 0x1b], 1
mov dword [esp + 0x30], edi
jmp 0x50edcf
mov ebx, dword [esp + 0x3c]
mov al, byte [esp + 0x37]
test al, al
je 0x50e6c4
lea edx, [esp + 0x124]
push 0x624230
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x637760]
add esp, 8
test eax, eax
je 0x50e569
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50e569
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [esp + 0x124]
push eax
push str._TX_
push 0
push ecx
mov dword [esp + 0x20], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x637760]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb100
mov eax, dword [0x637760]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c4d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50e5bf
lea ecx, [esp + 0x124]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x338], 0x24
mov dword [esp + 0x20], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x632308]
mov byte [esp + 0x338], 0x12
call fcn.004542f0
mov eax, dword [0x631fc0]
test eax, eax
je 0x50e8d1
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x50e8d1
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x50e6b3
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50e6b3
call fcn.0044c4d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50e6ae
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50e6ae
mov ecx, dword [ebx + 4]
push ecx
lea ecx, [esp + 0x74]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x70]
mov byte [esp + 0x32c], 0x25
mov eax, dword [ecx - 8]
test eax, eax
je 0x50e69d
mov al, byte [esi + 0x80]
test al, al
je 0x50e69d
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x50e69d
lea edx, [esp + 0x124]
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
push ecx
mov byte [esp + 0x338], 0x26
mov dword [esp + 0x20], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
mov byte [esp + 0x338], 0x25
call fcn.00402490
lea ecx, [esp + 0x70]
mov byte [esp + 0x32c], 0x12
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x631fc0]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x50e5df
jmp 0x50e8d1
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50e8ed
mov cl, byte [esp + 0x46]
push eax
test cl, cl
jne 0x50e6f4
lea edx, [esp + 0x128]
push 0x624208
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
jmp 0x50e712
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0x128]
push eax
push 0x6238b8
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov eax, dword [0x637760]
test eax, eax
je 0x50e77b
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50e77b
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [esp + 0x124]
push edx
push str._TX_
push 0
push ecx
mov dword [esp + 0x20], esp
mov eax, dword [ebx + 4]
mov ecx, esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x637760]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb100
mov eax, dword [0x637760]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c4d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50e7d1
lea ecx, [esp + 0x124]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x338], 0x27
mov dword [esp + 0x20], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x632308]
mov byte [esp + 0x338], 0x12
call fcn.004542f0
mov eax, dword [0x631fc0]
test eax, eax
je 0x50e8d1
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x50e8d1
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x50e8c5
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50e8c5
call fcn.0044c4d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50e8c0
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50e8c0
mov ecx, dword [ebx + 4]
push ecx
lea ecx, [esp + 0x78]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x74]
mov byte [esp + 0x32c], 0x28
mov eax, dword [ecx - 8]
test eax, eax
je 0x50e8af
mov al, byte [esi + 0x80]
test al, al
je 0x50e8af
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x50e8af
lea edx, [esp + 0x124]
lea eax, [esp + 0x74]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x338], 0x29
mov dword [esp + 0x20], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
mov byte [esp + 0x338], 0x28
call fcn.00402490
lea ecx, [esp + 0x74]
mov byte [esp + 0x32c], 0x12
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x631fc0]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x50e7f1
mov eax, dword [ebx + 8]
mov ebp, dword [esp + 0x1c]
push eax
mov ecx, ebp
call fcn.0058d980
test eax, eax
je 0x50ed0f
jmp 0x50ecfb
mov al, byte [esp + 0x46]
test al, al
jne 0x50eafb
mov eax, dword [ebx + 8]
lea edx, [ebx + 0xc]
push edx
push eax
lea ecx, [esp + 0x12c]
push str.ERROR:_
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x637760]
add esp, 0x10
test eax, eax
je 0x50e980
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50e980
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [esp + 0x124]
push edx
push str._TX_
push 0
push ecx
mov dword [esp + 0x20], esp
mov eax, dword [ebx + 4]
mov ecx, esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x637760]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb100
mov eax, dword [0x637760]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c4d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50e9d6
lea ecx, [esp + 0x124]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x338], 0x2a
mov dword [esp + 0x20], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x632308]
mov byte [esp + 0x338], 0x12
call fcn.004542f0
mov eax, dword [0x631fc0]
test eax, eax
je 0x50ead6
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x50ead6
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x50eaca
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50eaca
call fcn.0044c4d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50eac5
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50eac5
mov ecx, dword [ebx + 4]
push ecx
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x32c], 0x2b
mov eax, dword [ecx - 8]
test eax, eax
je 0x50eab4
mov al, byte [esi + 0x80]
test al, al
je 0x50eab4
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x50eab4
lea edx, [esp + 0x124]
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
push ecx
mov byte [esp + 0x338], 0x2c
mov dword [esp + 0x20], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
mov byte [esp + 0x338], 0x2b
call fcn.00402490
lea ecx, [esp + 0x78]
mov byte [esp + 0x32c], 0x12
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x631fc0]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x50e9f6
mov eax, dword [ebx + 8]
mov ebp, dword [esp + 0x1c]
push eax
mov ecx, ebp
call fcn.0058d980
test eax, eax
je 0x50ed0f
mov edx, dword [eax]
push 0
push 0x6241c0
jmp 0x50ed07
mov ecx, dword [esp + 0x8c]
lea eax, [ebx + 0xc]
push eax
push ecx
lea edx, [esp + 0x12c]
push 0x6238b8
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x637760]
add esp, 0x10
test eax, eax
je 0x50eb86
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50eb86
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [esp + 0x124]
push eax
push str._TX_
push 0
push ecx
mov dword [esp + 0x20], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x637760]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb100
mov eax, dword [0x637760]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c4d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50ebdc
lea ecx, [esp + 0x124]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x338], 0x2d
mov dword [esp + 0x20], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x632308]
mov byte [esp + 0x338], 0x12
call fcn.004542f0
mov eax, dword [0x631fc0]
test eax, eax
je 0x50ece8
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x50ece8
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x50ecdc
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50ecdc
call fcn.0044c4d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50ecd7
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50ecd7
mov ecx, dword [ebx + 4]
push ecx
lea ecx, [esp + 0x84]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x80]
mov byte [esp + 0x32c], 0x2e
mov eax, dword [ecx - 8]
test eax, eax
je 0x50ecc3
mov al, byte [esi + 0x80]
test al, al
je 0x50ecc3
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x50ecc3
lea edx, [esp + 0x124]
lea eax, [esp + 0x80]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x338], 0x2f
mov dword [esp + 0x20], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
mov byte [esp + 0x338], 0x2e
call fcn.00402490
lea ecx, [esp + 0x80]
mov byte [esp + 0x32c], 0x12
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x631fc0]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x50ebfc
mov eax, dword [ebx + 8]
mov ebp, dword [esp + 0x1c]
push eax
mov ecx, ebp
call fcn.0058d980
test eax, eax
je 0x50ed0f
mov edx, dword [eax]
lea ecx, [esp + 0x124]
push 0
push ecx
mov ecx, eax
call dword [edx + 0x90]
mov dword [esp + 0x10], ebx
mov eax, dword [ebx + 8]
mov byte [esp + 0x32c], 0x30
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [ebx + 4]
xor esi, esi
push eax
mov dword [ebx + 8], esi
call sub.MFC42.DLL_operatordelete
mov dword [ebx + 4], esi
mov eax, dword [ebx + 0x2c]
add esp, 8
test eax, eax
jle 0x50ed62
mov edx, dword [ebx + 0x28]
mov edi, dword [edx + esi*4]
test edi, edi
je 0x50ed5a
mov eax, dword [edi]
push eax
call sub.MFC42.DLL_operatordelete
push edi
call sub.MFC42.DLL_operatordelete
add esp, 8
mov eax, dword [ebx + 0x2c]
inc esi
cmp esi, eax
jl 0x50ed3f
lea esi, [ebx + 0x24]
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.00582a70
mov eax, dword [esi + 4]
mov dword [esi], 0x5ce134
test eax, eax
je 0x50ed86
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push ebx
mov dword [esi], 0x5c4040
call sub.MFC42.DLL_operatordelete
mov eax, dword [ebp + 0x318]
mov edx, dword [esp + 0x58]
mov ecx, dword [ebp + 0x314]
sub eax, edx
add esp, 4
dec eax
lea esi, [ecx + edx*4]
je 0x50edc0
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 [ebp + 0x318]
jmp 0x50fa6a
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x50ee1a
test edi, edi
jne 0x50ee13
mov edi, eax
mov byte [esp + 0x1b], 1
mov dword [esp + 0x30], edi
mov al, byte [edi + 0x11b]
test al, al
jne 0x50ee02
cmp byte [ebx + 0x19], 1
jne 0x50ee02
mov byte [esp + 0x1b], 0
mov byte [edi + 0x11b], 1
test edi, edi
jne 0x50ef58
inc dword [esp + 0x54]
jmp 0x50fa6a
mov byte [eax + 0x98], 0
mov al, byte [esp + 0x1b]
test al, al
jne 0x50ede6
cmp byte [ebx + 0x1a], 1
jne 0x50ee02
lea ecx, [esp + 0x84]
call sub.MFC42.DLL_CString::CString_1
mov ebp, dword [esp + 0x1c]
mov byte [esp + 0x32c], 0x31
mov edx, dword [ebx + 8]
mov ecx, ebp
push edx
call fcn.0058d980
mov esi, eax
mov eax, dword [ebx + 0x28]
lea edx, [esp + 0x84]
mov eax, dword [eax]
mov ecx, dword [eax]
push ecx
push 0x10
push 0x62419c
push edx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x94]
mov eax, dword [esi]
add esp, 0x10
xor edi, edi
push edi
push ecx
mov ecx, esi
call dword [eax + 0x90]
mov dword [esp + 0x10], ebx
mov eax, dword [ebx + 8]
mov byte [esp + 0x32c], 0x32
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [ebx + 4]
mov dword [ebx + 8], edi
push eax
call sub.MFC42.DLL_operatordelete
mov dword [ebx + 4], edi
mov eax, dword [ebx + 0x2c]
add esp, 8
xor esi, esi
cmp eax, edi
jle 0x50eed4
mov edx, dword [ebx + 0x28]
mov edi, dword [edx + esi*4]
test edi, edi
je 0x50eecc
mov eax, dword [edi]
push eax
call sub.MFC42.DLL_operatordelete
push edi
call sub.MFC42.DLL_operatordelete
add esp, 8
mov eax, dword [ebx + 0x2c]
inc esi
cmp esi, eax
jl 0x50eeb1
lea esi, [ebx + 0x24]
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.00582a70
mov eax, dword [esi + 4]
mov dword [esi], 0x5ce134
test eax, eax
je 0x50eef8
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push ebx
mov dword [esi], 0x5c4040
call sub.MFC42.DLL_operatordelete
mov eax, dword [ebp + 0x318]
mov edx, dword [esp + 0x58]
mov ecx, dword [ebp + 0x314]
sub eax, edx
add esp, 4
dec eax
lea esi, [ecx + edx*4]
je 0x50ef32
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 eax, dword [ebp + 0x318]
lea ecx, [esp + 0x84]
dec eax
mov byte [esp + 0x32c], 0x12
mov dword [ebp + 0x318], eax
call sub.MFC42.DLL_CString::CString
jmp 0x50fa6a
mov esi, str.XXX000
lea eax, [ebx + 0xc]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50ef84
test cl, cl
je 0x50ef80
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50ef84
add eax, 2
add esi, 2
test cl, cl
jne 0x50ef60
xor eax, eax
jmp 0x50ef89
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x50efdb
mov esi, dword [ebx + 0x2c]
xor ebp, ebp
test esi, esi
mov dword [esp + 0x14], esi
jle 0x50efdb
mov eax, dword [ebx + 0x28]
push str.XXX000
mov eax, dword [eax + ebp*4]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x50efd6
mov edx, dword [esp + 0x30]
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 + 0x14]
inc ebp
cmp ebp, esi
jl 0x50ef9a
mov al, byte [ebx + 0x14]
test al, al
je 0x50efff
and eax, 0xff
mov edi, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
mov dword [edi + 0x11c], eax
jmp 0x50f012
mov edi, dword [esp + 0x30]
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 [0x637419]
test al, al
jne 0x50f0d4
mov esi, dword [edi + 0x94]
test esi, esi
mov dword [esp + 0x14], esi
je 0x50f0ca
mov eax, dword [esi + 8]
mov byte [esp + 0x32c], 0x33
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi + 4]
xor edi, edi
push eax
mov dword [esi + 8], edi
call sub.MFC42.DLL_operatordelete
mov dword [esi + 4], edi
mov eax, dword [esi + 0x2c]
add esp, 8
cmp eax, edi
jle 0x50f08b
mov eax, dword [esi + 0x28]
mov ebp, dword [eax + edi*4]
test ebp, ebp
je 0x50f083
mov eax, dword [ebp]
push eax
call sub.MFC42.DLL_operatordelete
push ebp
call sub.MFC42.DLL_operatordelete
add esp, 8
mov eax, dword [esi + 0x2c]
inc edi
cmp edi, eax
jl 0x50f067
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0x24]
call fcn.00582a70
mov eax, dword [esi + 0x28]
mov byte [esp + 0x32c], 0x12
test eax, eax
mov dword [esi + 0x24], 0x5ce134
je 0x50f0b6
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push esi
mov dword [esi + 0x24], 0x5c4040
call sub.MFC42.DLL_operatordelete
mov edi, dword [esp + 0x34]
add esp, 4
mov dword [edi + 0x94], 0
mov ebp, dword [esp + 0x30]
mov edx, dword [ebp + 0x50]
lea ecx, [ebp + 0x50]
call dword [edx + 0x1c]
lea eax, [ebx + 8]
or ecx, 0xffffffff
mov dword [esp + 0x14], eax
lea edx, [ebp + 0x98]
mov edi, dword [eax]
xor eax, eax
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 [ebp + 0x129], 0
je 0x50f3d1
mov al, byte [ebx + 0x18]
test al, al
jne 0x50f3d1
mov eax, dword [ebx + 0x2c]
cmp eax, 2
jne 0x50f197
mov ecx, dword [ebx + 0x28]
push 0x619630
mov eax, dword [ecx]
mov edx, dword [eax]
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x50f1dd
lea edi, [ebx + 0x24]
mov dword [esp + 0x14], edi
mov eax, dword [ebx + 0x28]
add edi, 8
mov esi, dword [eax]
test esi, esi
je 0x50f175
mov eax, dword [esi]
push eax
call sub.MFC42.DLL_operatordelete
push esi
call sub.MFC42.DLL_operatordelete
add esp, 8
mov ecx, dword [edi]
dec ecx
je 0x50f193
mov edx, dword [esp + 0x14]
shl ecx, 2
mov eax, dword [edx + 4]
push ecx
lea edx, [eax + 4]
push edx
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
dec dword [edi]
jmp 0x50f1dd
dec eax
test eax, eax
jle 0x50f1dd
mov edi, eax
mov eax, dword [ebx + 0x28]
mov esi, dword [eax]
test esi, esi
je 0x50f1b8
mov eax, dword [esi]
push eax
call sub.MFC42.DLL_operatordelete
push esi
call sub.MFC42.DLL_operatordelete
add esp, 8
mov ecx, dword [ebx + 0x2c]
dec ecx
je 0x50f1d3
mov eax, dword [ebx + 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 [ebx + 0x2c]
dec ecx
dec edi
mov dword [ebx + 0x2c], ecx
jne 0x50f19e
lea eax, [ebp + 0x98]
push eax
lea eax, [esp + 0xa8]
push str.__s__________________
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x637760]
add esp, 0xc
test eax, eax
je 0x50f266
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50f266
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp + 0x70]
lea ecx, [esp + 0xa4]
push 0
push ecx
push 0
push ecx
add edx, 0xa8
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [0x637760]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb100
mov eax, dword [0x637760]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c4d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50f2be
push 0
push ecx
lea edx, [esp + 0xac]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov byte [esp + 0x334], 0x34
mov eax, dword [ebp + 0x70]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x632308]
mov byte [esp + 0x338], 0x12
call fcn.004542f0
mov eax, dword [0x631fc0]
test eax, eax
je 0x50f976
mov ecx, dword [eax + 0x50]
xor ebx, ebx
test ecx, ecx
jle 0x50f976
mov edi, dword [esp + 0x30]
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + ebx*4]
test esi, esi
je 0x50f3c0
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50f3c0
call fcn.0044c4d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50f3bb
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50f3bb
mov ecx, dword [edi + 0x70]
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x80]
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x7c]
mov byte [esp + 0x32c], 0x35
mov eax, dword [ecx - 8]
test eax, eax
je 0x50f3aa
mov al, byte [esi + 0x80]
test al, al
je 0x50f3aa
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x50f3aa
push eax
push ecx
lea edx, [esp + 0x84]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov byte [esp + 0x334], 0x36
mov eax, dword [edi + 0x70]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x338], 0x35
call fcn.00402490
lea ecx, [esp + 0x7c]
mov byte [esp + 0x32c], 0x12
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x631fc0]
mov ecx, dword [eax + 0x50]
inc ebx
cmp ebx, ecx
jl 0x50f2e2
jmp 0x50f976
push edx
lea ecx, [esp + 0xa8]
push 0x62416c
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [ebp + 0x34]
add esp, 0xc
test eax, eax
je 0x50f3f6
mov ecx, ebp
call fcn.00506ff0
mov al, byte [ebx + 0x19]
mov edx, dword [ebx + 0x28]
cmp al, 1
push str.rawins
mov esi, dword [edx]
sete al
mov byte [ebp + 0x11b], al
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push edx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
jne 0x50f79f
mov edi, dword [esp + 0x30]
xor bl, bl
mov eax, dword [edi + 0x70]
mov cl, byte [eax + 0x8e]
test cl, cl
je 0x50f452
mov ecx, dword [esi]
push 6
push 0x62392c
push ecx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x50f452
mov bl, 1
mov edx, dword [edi + 0x70]
mov al, byte [edx + 0x8d]
test al, al
jne 0x50f7a3
test bl, bl
jne 0x50f7a3
push 0x14
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
mov dword [esp + 0x40], ebp
test ebp, ebp
mov byte [esp + 0x32c], 0x37
je 0x50f4f6
mov eax, dword [esp + 0x3c]
mov edi, 0x619630
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x20], ecx
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x14], edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov dword [ebp + 4], ebx
lea eax, [ebx + 1]
push eax
call sub.MFC42.DLL_operatornew
mov ecx, ebx
mov esi, 0x619630
mov edx, ecx
mov edi, eax
shr ecx, 2
mov dword [ebp], eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x20]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp]
mov byte [eax + ebx], 0
mov byte [ebp + 8], 0
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x10], edx
mov byte [ebp + 9], 0
mov dword [esp + 0x14], ebp
jmp 0x50f4fe
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x32c], 0x12
lea esi, [eax + 0x24]
mov edx, dword [esi + 8]
lea ebx, [esi + 8]
test edx, edx
mov dword [esp + 0x2c], ebx
jg 0x50f620
mov eax, dword [esi + 4]
lea ebp, [esi + 4]
test eax, eax
jne 0x50f54e
push 4
call sub.MFC42.DLL_operatornew
mov dword [ebp], eax
mov dword [eax], 0
mov dword [esi + 0xc], 1
add esp, 4
mov dword [ebx], 1
jmp 0x50f77b
lea ecx, [esi + 0xc]
mov dword [esp + 0x40], ecx
mov ecx, dword [ecx]
cmp ecx, 1
jl 0x50f57c
cmp edx, 1
jge 0x50f571
mov ecx, 1
sub ecx, edx
lea edx, [eax + edx*4]
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [ebx], 1
jmp 0x50f77b
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x50f5a6
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x50f59a
mov eax, 4
jmp 0x50f5a6
cmp eax, 0x400
jle 0x50f5a6
mov eax, 0x400
add eax, ecx
cmp eax, 1
mov dword [esp + 0x20], eax
jg 0x50f5b9
mov dword [esp + 0x20], 1
mov ecx, dword [esp + 0x20]
lea edx, [ecx*4]
push edx
call sub.MFC42.DLL_operatornew
mov ebx, eax
mov eax, dword [esp + 0x30]
mov esi, dword [ebp]
mov edi, ebx
mov ecx, dword [eax]
shl ecx, 2
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 + 0x30]
mov ecx, 1
mov eax, dword [esi]
sub ecx, eax
lea edi, [ebx + eax*4]
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp]
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x28]
mov dword [ebp], ebx
mov dword [esi], 1
mov ecx, dword [esp + 0x48]
add esp, 8
mov dword [ecx], eax
jmp 0x50f77b
lea ebx, [edx + 1]
mov dword [esp + 0x28], edx
test ebx, ebx
lea ebp, [esi + 4]
jne 0x50f65b
mov eax, dword [ebp]
test eax, eax
je 0x50f645
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [ebp], 0
mov edx, dword [esp + 0x2c]
mov dword [esi + 0xc], 0
mov dword [edx], 0
jmp 0x50f753
mov ecx, dword [ebp]
test ecx, ecx
jne 0x50f68a
lea eax, [ebx*4]
push eax
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp], eax
push ebx
push eax
call fcn.005474e0
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0xc], ebx
mov dword [ecx], ebx
jmp 0x50f753
lea eax, [esi + 0xc]
mov dword [esp + 0x40], eax
mov edi, dword [eax]
cmp ebx, edi
jg 0x50f6b4
cmp ebx, edx
jle 0x50f6a9
mov eax, ebx
lea ecx, [ecx + edx*4]
sub eax, edx
push eax
push ecx
call fcn.005474e0
mov edx, dword [esp + 0x2c]
mov dword [edx], ebx
jmp 0x50f753
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x50f6de
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x50f6d2
mov eax, 4
jmp 0x50f6de
cmp eax, 0x400
jle 0x50f6de
mov eax, 0x400
add eax, edi
cmp ebx, eax
mov dword [esp + 0x20], eax
jl 0x50f6ec
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x20]
lea ecx, [eax*4]
push ecx
call sub.MFC42.DLL_operatornew
mov edx, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov esi, dword [ebp]
mov edi, eax
mov ecx, dword [edx]
add esp, 4
shl ecx, 2
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi]
sub edx, ecx
lea eax, [eax + ecx*4]
push edx
push eax
call fcn.005474e0
mov eax, dword [ebp]
push eax
call sub.MFC42.DLL_operatordelete
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
mov dword [ebp], ecx
mov dword [esi], ebx
mov eax, dword [esp + 0x44]
add esp, 4
mov dword [eax], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [ebp]
lea edx, [ecx*4]
push edx
push eax
add eax, 4
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [ebp]
add esp, 0xc
push 1
push eax
call fcn.005474e0
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
mov esi, dword [ebp]
add eax, 4
mov dword [eax + esi - 4], edx
mov esi, ecx
dec ecx
test esi, esi
jne 0x50f783
mov ecx, dword [esp + 0x30]
mov byte [ecx + 0x129], 1
mov edi, dword [esp + 0x30]
mov eax, dword [0x637760]
test eax, eax
je 0x50f80e
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50f80e
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x70]
lea edx, [esp + 0xa4]
push 0
push edx
push 0
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [0x637760]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004eb100
mov eax, dword [0x637760]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c4d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x50f866
push 0
push ecx
lea edx, [esp + 0xac]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov byte [esp + 0x334], 0x38
mov eax, dword [edi + 0x70]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x632308]
mov byte [esp + 0x338], 0x12
call fcn.004542f0
mov eax, dword [0x631fc0]
test eax, eax
je 0x50f976
mov ecx, dword [eax + 0x50]
xor ebx, ebx
test ecx, ecx
jle 0x50f976
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + ebx*4]
test esi, esi
je 0x50f96a
mov cl, byte [esi + 0x88]
test cl, cl
je 0x50f96a
call fcn.0044c4d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x50f965
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50f965
mov ecx, dword [edi + 0x70]
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x8c]
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x88]
mov byte [esp + 0x32c], 0x39
mov eax, dword [ecx - 8]
test eax, eax
je 0x50f951
mov al, byte [esi + 0x80]
test al, al
je 0x50f951
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x50f951
push eax
push ecx
lea edx, [esp + 0x90]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov byte [esp + 0x334], 0x3a
mov eax, dword [edi + 0x70]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x338], 0x39
call fcn.00402490
lea ecx, [esp + 0x88]
mov byte [esp + 0x32c], 0x12
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x631fc0]
mov ecx, dword [eax + 0x50]
inc ebx
cmp ebx, ecx
jl 0x50f886
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
xor ecx, ecx
mov cx, word [esi]
lea eax, [edi + 0x58]
push eax
mov dword [edi + 0x80], ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [edi + 0x50]
mov dword [edi + 0x94], esi
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov al, byte [esp + 0x1b]
test al, al
je 0x50f9b2
add dword [edi + 0xd8], 2
jmp 0x50f9bc
mov dword [edi + 0xd8], 2
push 0
push 0xc
mov ecx, edi
call fcn.00506b00
mov al, byte [0x637419]
test al, al
jne 0x50fa6a
mov eax, dword [esp + 0x38]
xor edx, edx
cmp dword [eax], 0
jle 0x50fa33
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + edx*4]
cmp eax, edi
je 0x50fa2a
lea ebp, [eax + 0x98]
lea esi, [edi + 0x98]
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x50fa1e
test cl, cl
je 0x50fa1a
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x50fa1e
add eax, 2
add esi, 2
test cl, cl
jne 0x50f9fa
xor eax, eax
jmp 0x50fa23
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x50fa2a
mov byte [ebp], al
mov ecx, dword [esp + 0x38]
inc edx
cmp edx, dword [ecx]
jl 0x50f9df
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
mov eax, dword [ecx + 0x318]
lea esi, [ecx + 0x318]
mov ecx, dword [ecx + 0x314]
sub eax, edx
dec eax
lea edi, [ecx + edx*4]
je 0x50fa68
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]
lea ecx, [esp + 0x5c]
mov dword [esp + 0x32c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
inc eax
cmp eax, ecx
mov dword [esp + 0x64], eax
jl 0x50d50d
mov esi, dword [esp + 0x60]
xor ebx, ebx
mov ebp, esi
cmp esi, ebx
mov dword [esp + 0x48], ebp
je 0x50fb4b
mov eax, dword [esi + 4]
mov dword [esp + 0x32c], 0x3c
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi + 0x10]
mov dword [esi + 4], ebx
push eax
call sub.MFC42.DLL_operatordelete
mov al, byte [esi + 0xc]
add esp, 8
test al, al
mov dword [esi + 0x10], ebx
jne 0x50faf5
mov eax, dword [esi + 0x20]
xor edi, edi
cmp eax, ebx
jle 0x50faf5
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + edi*4]
cmp ecx, ebx
je 0x50faed
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esi + 0x20]
inc edi
cmp edi, eax
jl 0x50fadd
mov eax, dword [esi + 0x1c]
add esi, 0x18
cmp eax, ebx
je 0x50fb0b
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esi + 4], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 8], ebx
mov dword [ebp + 0x18], 0x5cf368
mov eax, dword [ebp + 0x1c]
cmp eax, ebx
je 0x50fb28
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [ebp + 0x18], 0x5c4040
lea ecx, [ebp + 0x14]
mov dword [esp + 0x32c], 0xffffffff
call sub.MFC42.DLL_CString::CString
push ebp
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [esp + 0x324]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x320
ret
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
mov ecx, esi
mov edx, dword [ebx + 8]
push edx
call fcn.0058d980
test eax, eax
je 0x50fb8c
mov edx, dword [eax]
push 0
push 0x624144
mov ecx, eax
call dword [edx + 0x90]
test ebx, ebx
je 0x50fba0
mov ecx, ebx
call fcn.005090c0
push ebx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [esi + 0x318]
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + 0x314]
sub eax, edx
dec eax
lea edi, [ecx + edx*4]
je 0x50fbcb
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 + 0x90]
dec eax
mov byte [esp + 0x32c], 0
mov dword [esi + 0x318], eax
call fcn.00594582
lea ecx, [esp + 0x58]
mov dword [esp + 0x32c], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x50fb4b
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0x4c]
add edx, 4
push edx
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x28]
mov byte [esp + 0x32c], 2
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x32c], 3
mov dword [esp + 0x38], edi
cmp dword [eax + 0x2f0], edi
jle 0x50fcae
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
xor ebx, ebx
mov edx, dword [ecx + 0x2ec]
mov ebp, dword [edx + eax*4]
mov eax, dword [ebp + 0x20]
test eax, eax
jle 0x50fc8f
mov ecx, dword [ebp + 0x1c]
mov esi, dword [ecx + ebx*4]
test esi, esi
je 0x50fc83
mov eax, dword [esi + 0x70]
test eax, eax
je 0x50fc83
mov edx, dword [esp + 0x4c]
mov eax, dword [eax + 0x48]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x50fc8d
mov eax, dword [ebp + 0x20]
inc ebx
cmp ebx, eax
jl 0x50fc5c
jmp 0x50fc8f
mov edi, esi
test edi, edi
jne 0x50fd8a
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
inc eax
mov edx, dword [ecx + 0x2f0]
mov dword [esp + 0x38], eax
cmp eax, edx
jl 0x50fc42
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x28]
push edx
push 0x624124
push eax
call sub.MFC42.DLL_CString::Format
mov eax, dword [0x637760]
add esp, 0xc
test eax, eax
je 0x50fd33
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50fd33
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0
lea ecx, [esp + 0x2c]
call fcn.0041a890
push eax
push 0x60b5c0
push ecx
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x631fbc
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x637760]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb100
mov eax, dword [0x637760]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x334], 4
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x60b5c0
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x338], 5
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x631fbc
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x33c], 6
mov ecx, esp
mov dword [esp + 0x24], esp
jmp 0x50fe78
mov al, byte [edi + 0xc35]
test al, al
jne 0x50fe95
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x28]
push ecx
push 0x624100
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [0x637760]
add esp, 0xc
test eax, eax
je 0x50fe21
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50fe21
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0
lea ecx, [esp + 0x2c]
call fcn.0041a890
push eax
mov eax, dword [edi + 0x70]
push 0x60b5c0
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x637760]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb100
mov eax, dword [0x637760]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x334], 7
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x60b5c0
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [edi + 0x70]
push ecx
add edx, 0xa8
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
mov byte [esp + 0x33c], 8
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x33c], 9
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x6101d4
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63233c]
mov byte [esp + 0x33c], 3
call fcn.00458d90
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50ff72
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esi + 8]
push ecx
mov ecx, ebp
call fcn.0058d980
xor ebx, ebx
cmp eax, ebx
je 0x50fecd
mov ecx, dword [esp + 0x28]
mov edx, dword [eax]
push ebx
push ecx
mov ecx, eax
call dword [edx + 0x90]
cmp esi, ebx
mov dword [esp + 0x48], esi
je 0x50ff3f
mov eax, dword [esi + 8]
mov byte [esp + 0x32c], 0xa
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi + 4]
mov dword [esi + 8], ebx
push eax
call sub.MFC42.DLL_operatordelete
mov dword [esi + 4], ebx
mov eax, dword [esi + 0x2c]
add esp, 8
xor edi, edi
cmp eax, ebx
jle 0x50ff1a
mov edx, dword [esi + 0x28]
mov ecx, dword [edx + edi*4]
cmp ecx, ebx
je 0x50ff12
push 1
call fcn.00509180
mov eax, dword [esi + 0x2c]
inc edi
cmp edi, eax
jl 0x50ff01
lea edi, [esi + 0x24]
push 0xffffffffffffffff
push ebx
mov ecx, edi
call fcn.00582a70
mov ecx, edi
mov byte [esp + 0x32c], 3
call fcn.004b97d0
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [ebp + 0x318]
mov edx, dword [esp + 0x54]
mov ecx, dword [ebp + 0x314]
sub eax, edx
dec eax
lea esi, [ecx + edx*4]
je 0x50ff6a
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 [ebp + 0x318]
jmp 0x50ffcf
lea edx, [edi + 0x58]
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x3c]
mov edx, dword [edi + 0x50]
lea ecx, [edi + 0x50]
mov dword [edi + 0x94], eax
call dword [edx + 0x1c]
push 0
push 0xc
mov ecx, edi
call fcn.00506b00
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
mov eax, dword [esi + 0x318]
mov ecx, dword [esi + 0x314]
sub eax, edx
dec eax
lea edi, [ecx + edx*4]
je 0x50ffc9
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]
lea ecx, [esp + 0x28]
mov byte [esp + 0x32c], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x4c]
mov byte [esp + 0x32c], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x90]
mov byte [esp + 0x32c], 0
call fcn.00594582
lea ecx, [esp + 0x58]
mov dword [esp + 0x32c], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x50fb4b
mov eax, dword [edi + 0x70]
lea esi, [edi + 0x70]
test eax, eax
je 0x510155
mov eax, dword [eax + 0xbc]
mov ecx, edi
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 0x510155
mov eax, dword [0x637760]
test eax, eax
je 0x5100b7
mov cl, byte [eax + 0x40]
test cl, cl
je 0x5100b7
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi]
push 0
push str.ERROR:_PID
push 0x60b5c0
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x637760]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb100
mov eax, dword [0x637760]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.ERROR:_PID
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x334], 0x15
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x60b5c0
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esi]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
mov byte [esp + 0x33c], 0x16
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x33c], 0x17
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x6101d4
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63233c]
mov byte [esp + 0x33c], 0x12
call fcn.00458d90
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
lea edi, [ecx + 8]
push edx
mov ecx, ebx
call fcn.0058d980
test eax, eax
je 0x510265
mov edx, dword [eax]
push 0
push 0x6240c0
jmp 0x51025d
mov byte [edi + 0x128], 0
mov eax, dword [0x637760]
test eax, eax
je 0x5101c8
mov cl, byte [eax + 0x40]
test cl, cl
je 0x5101c8
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi]
push 0
push 0x624088
push 0x60b5c0
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x637760]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb100
mov eax, dword [0x637760]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push 0x624088
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x334], 0x18
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x60b5c0
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esi]
push ecx
add eax, 0xa8
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
mov byte [esp + 0x33c], 0x19
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x33c], 0x1a
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x6101d4
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63233c]
mov byte [esp + 0x33c], 0x12
call fcn.00458d90
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
lea edi, [ecx + 8]
push edx
mov ecx, ebx
call fcn.0058d980
test eax, eax
je 0x510265
mov edx, dword [eax]
push 0
push 0x624088
mov ecx, eax
call dword [edx + 0x90]
mov esi, dword [esp + 0x3c]
xor ebp, ebp
cmp esi, ebp
mov dword [esp + 0x48], esi
je 0x5102e8
mov edi, dword [edi]
mov byte [esp + 0x32c], 0x1b
push edi
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi + 4]
mov dword [esi + 8], ebp
push eax
call sub.MFC42.DLL_operatordelete
mov dword [esi + 4], ebp
mov eax, dword [esi + 0x2c]
add esp, 8
xor edi, edi
cmp eax, ebp
jle 0x5102c2
mov eax, dword [esi + 0x28]
mov ebp, dword [eax + edi*4]
test ebp, ebp
je 0x5102ba
mov eax, dword [ebp]
push eax
call sub.MFC42.DLL_operatordelete
push ebp
call sub.MFC42.DLL_operatordelete
add esp, 8
mov eax, dword [esi + 0x2c]
inc edi
cmp edi, eax
jl 0x51029e
xor ebp, ebp
push 0xffffffffffffffff
push ebp
lea ecx, [esi + 0x24]
call fcn.00582a70
lea ecx, [esi + 0x24]
mov byte [esp + 0x32c], 0x12
call fcn.004b97d0
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [ebx + 0x318]
mov edx, dword [esp + 0x54]
mov ecx, dword [ebx + 0x314]
lea esi, [ebx + 0x318]
sub eax, edx
dec eax
lea edi, [ecx + edx*4]
je 0x510319
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 ecx, dword [esi]
dec ecx
mov dword [esi], ecx
mov esi, dword [esp + 0x60]
cmp esi, ebp
mov dword [esp + 0x48], esi
je 0x5103a9
mov eax, dword [esi + 4]
mov byte [esp + 0x32c], 0x1d
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi + 0x10]
mov dword [esi + 4], ebp
push eax
call sub.MFC42.DLL_operatordelete
mov al, byte [esi + 0xc]
add esp, 8
test al, al
mov dword [esi + 0x10], ebp
jne 0x510375
mov eax, dword [esi + 0x20]
xor edi, edi
cmp eax, ebp
jle 0x510375
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + edi*4]
cmp ecx, ebp
je 0x51036d
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esi + 0x20]
inc edi
cmp edi, eax
jl 0x51035d
push 0xffffffffffffffff
push ebp
lea ecx, [esi + 0x18]
call fcn.00582a70
lea ecx, [esi + 0x18]
mov byte [esp + 0x32c], 0x1c
call fcn.00512d30
lea ecx, [esi + 0x14]
mov byte [esp + 0x32c], 0x12
call sub.MFC42.DLL_CString::CString
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x5c]
mov dword [esp + 0x32c], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x50fb4b