Function at 0x50f460
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5bad87
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x318
mov eax, dword [ecx + 0x318]
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
je 0x5118ed
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x70], esi
mov dword [esp + 0x60], ebx
jle 0x51183b
mov esi, dword [esp + 0x70]
test esi, esi
je 0x50f4cd
mov ecx, esi
call fcn.00514f70
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov ecx, dword [eax + 0x314]
mov eax, dword [ecx + edx*4]
test eax, eax
mov dword [esp + 0x38], eax
je 0x511820
mov ecx, dword [eax + 0x28]
xor ebx, ebx
xor ebp, ebp
mov byte [esp + 0x1f], 0
mov edi, dword [ecx]
mov byte [esp + 0x1e], 0
cmp edi, ebx
mov dword [esp + 0x2c], edi
mov dl, byte [edi + 8]
mov dword [esp + 0x10], ebp
mov byte [esp + 0x67], dl
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x3f], 0
je 0x50f654
mov eax, dword [edi]
cmp eax, ebx
je 0x50f654
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
push 5
push str.SI:NW
push eax
call esi
add esp, 0xc
test eax, eax
je 0x50f55d
mov eax, dword [edi]
push 5
push str.SI_NW
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x50f654
mov ecx, dword [edi]
push ecx
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x50]
mov dword [esp + 0x330], ebx
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_CString::TrimRight
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_CString::MakeUpper
push 0x63546c
push str.SI:NW
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::Replace
push 0x63546c
push str.SI_NW
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::Replace
push 0x613e38
push 0x610c74
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::Replace
push 0x613e38
push 0x606220
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::Replace
lea ecx, [esp + 0x94]
call sub.MFC42.DLL_CStringArray::CStringArray
push 1
push 1
push 2
lea edx, [esp + 0xa0]
push 0x2f
push edx
push ecx
lea eax, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
mov byte [esp + 0x34c], 1
call sub.MFC42.DLL_CString::CString_2
call fcn.004eb790
mov eax, dword [esp + 0xb4]
add esp, 0x18
cmp eax, ebx
je 0x511906
cmp eax, 2
je 0x511a06
lea ecx, [esp + 0x94]
mov byte [esp + 0x330], 0
call fcn.00596f82
lea ecx, [esp + 0x50]
mov dword [esp + 0x330], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x38]
mov esi, str.qt_group
mov ebp, dword [ecx + 4]
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50f686
test cl, cl
je 0x50f682
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50f686
add eax, 2
add esi, 2
test cl, cl
jne 0x50f662
xor eax, eax
jmp 0x50f68b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x50f8a9
push 0x2c
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
cmp esi, ebx
mov dword [esp + 0x330], 0x14
je 0x50f6de
lea ecx, [esi + 0x14]
call sub.MFC42.DLL_CString::CString_1
mov dword [esi + 0x18], 0x5d2390
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 0x50f6e0
xor esi, esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x330], 0xffffffff
mov byte [esi + 0xc], 1
mov dword [esp + 0x48], esi
mov ecx, dword [eax + 0x2f0]
mov dword [esp + 0x70], esi
cmp ecx, ebx
mov dword [esp + 0x5c], ebx
jle 0x50f7b5
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
xor ebx, ebx
mov edx, dword [ecx + 0x2ec]
mov eax, dword [edx + eax*4]
lea esi, [eax + 0x20]
mov dword [esp + 0x44], esi
cmp dword [esi], 0
jle 0x50f79a
add eax, 0x1c
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov ebp, dword [edx + ebx*4]
mov eax, dword [ebp + 0x74]
mov cl, byte [eax + 0x51]
test cl, cl
jne 0x50f793
mov cl, byte [eax + 0xe5]
test cl, cl
je 0x50f793
mov ecx, dword [esp + 0x38]
add ecx, 0xc
cmp byte [ecx], 0
je 0x50f76e
mov eax, dword [eax + 0x24]
push ecx
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x50f793
mov edx, dword [esp + 0x48]
push 0xffffffffffffffff
mov edi, dword [edx + 0x20]
lea esi, [edx + 0x18]
mov ecx, esi
lea eax, [edi + 1]
push eax
call fcn.0049f7f0
mov ecx, dword [esi + 4]
mov dword [ecx + edi*4], ebp
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x2c]
mov eax, dword [esi]
inc ebx
cmp ebx, eax
jl 0x50f733
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
inc eax
mov ecx, dword [edx + 0x2f0]
mov dword [esp + 0x5c], eax
cmp eax, ecx
jl 0x50f70d
mov eax, dword [esp + 0x48]
xor ebx, ebx
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::CString_1
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
mov dword [esp + 0x330], 0x19
mov edx, dword [edi]
push 6
push str.LOCK02
push edx
mov byte [esp + 0x37], 0
mov byte [esp + 0x42], 0
mov byte [esp + 0x5b], 0
mov dword [esp + 0x68], ebx
call esi
add esp, 0xc
test eax, eax
jne 0x50f863
mov eax, dword [edi]
lea ecx, [esp + 0x54]
add eax, 6
push eax
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x54]
mov byte [esp + 0x330], 0x1a
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CString::TrimRight
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x58]
push 1
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004d0460
add esp, 0x10
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::TrimRight
lea ecx, [esp + 0x54]
mov byte [esp + 0x330], 0x19
call sub.MFC42.DLL_CString::CString
mov eax, dword [edi]
push 3
push 0x6276a8
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x50fa8d
mov ecx, dword [esp + 0x48]
mov esi, dword [ecx + 0x20]
cmp esi, ebx
jle 0x50fa8d
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x74]
mov bl, byte [edx + 0x5a]
test bl, bl
jne 0x50fa88
inc eax
add ecx, 4
cmp eax, esi
jl 0x50f88c
jmp 0x50fa8d
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ebp
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x24]
call fcn.00512f70
cmp eax, ebx
mov dword [esp + 0x48], eax
jne 0x50f7bf
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esi + 8]
lea edi, [esi + 8]
push ecx
mov ecx, ebx
call fcn.00591430
xor ebp, ebp
cmp eax, ebp
je 0x50f8f7
mov edx, dword [eax]
push ebp
push 0x627678
mov ecx, eax
call dword [edx + 0x90]
mov eax, dword [0x63ac10]
cmp eax, ebp
je 0x50f95d
mov cl, byte [eax + 0x40]
test cl, cl
je 0x50f95d
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push ebp
push str.____ERROR:
push 0x606790
push ecx
mov dword [esp + 0x28], esp
mov eax, dword [edi]
mov ecx, esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63ac10]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004ec730
mov eax, dword [0x63ac10]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.____ERROR:
call sub.MFC42.DLL_CString::CString_3
push ecx
mov dword [esp + 0x338], 0x15
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x606790
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x33c], 0x16
mov dword [esp + 0x3c], esp
mov eax, dword [edi]
mov ecx, esp
push eax
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x340], 0x17
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x6132c0
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x6357ec]
mov dword [esp + 0x340], 0xffffffff
call fcn.004590c0
mov dword [esp + 0x18], esi
mov edi, dword [edi]
mov dword [esp + 0x330], 0x18
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 0x50fa29
mov ecx, dword [esi + 0x28]
mov ebx, dword [ecx + edi*4]
cmp ebx, ebp
je 0x50fa1d
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 0x50fa02
mov ebx, dword [esp + 0x20]
push 0xffffffffffffffff
push ebp
lea ecx, [esi + 0x24]
call fcn.0049f7f0
lea ecx, [esi + 0x24]
mov dword [esp + 0x330], 0xffffffff
call fcn.004badc0
push esi
call sub.MFC42.DLL_operatordelete
mov eax, dword [ebx + 0x318]
mov edx, dword [esp + 0x44]
mov ecx, dword [ebx + 0x314]
lea esi, [ebx + 0x318]
sub eax, edx
add esp, 4
dec eax
lea edi, [ecx + edx*4]
je 0x50fa81
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 0x511820
mov byte [esp + 0x4f], 1
mov eax, dword [edi]
push 2
push 0x61c32c
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50fbd7
mov ecx, dword [esp + 0x2c]
push 3
push 0x627640
mov edx, dword [ecx]
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50fbd7
mov eax, dword [esp + 0x2c]
push 3
push 0x62763c
mov ecx, dword [eax]
push ecx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50fbd7
mov edx, dword [esp + 0x2c]
push 2
push 0x627638
mov eax, dword [edx]
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50fbd7
mov ebp, dword [esp + 0x2c]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
jb 0x50fb55
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
push 2
push 0x627634
push edx
call esi
add esp, 0xc
test eax, eax
jne 0x50fb5b
mov ecx, dword [ebp]
mov al, byte [ecx + 2]
cmp al, 0x20
je 0x50fbd7
push eax
call fcn.004edd40
add esp, 4
test al, al
jne 0x50fbd7
jmp 0x50fb5b
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
mov edx, dword [ebp]
push 2
push 0x627630
push edx
call esi
add esp, 0xc
test eax, eax
jne 0x50fb97
mov eax, dword [ebp]
push 3
push 0x62762c
push eax
call esi
add esp, 0xc
test eax, eax
je 0x50fb97
mov ecx, dword [ebp]
push 4
push str.TOUR
push ecx
call esi
add esp, 0xc
test eax, eax
jne 0x50fbd7
mov edx, dword [ebp]
push 2
push 0x627620
push edx
call esi
add esp, 0xc
test eax, eax
je 0x50fbd7
mov eax, dword [ebp]
push 2
push 0x62761c
push eax
call esi
add esp, 0xc
test eax, eax
je 0x50fbd7
mov ecx, dword [ebp]
push 2
push 0x627618
push ecx
call esi
add esp, 0xc
test eax, eax
jne 0x50fc58
mov ebp, dword [esp + 0x2c]
or ecx, 0xffffffff
xor eax, eax
mov esi, 2
mov edx, dword [ebp]
mov byte [esp + 0x2b], 1
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, esi
jle 0x50fc52
mov al, byte [esi + edx]
cmp al, 0x30
jl 0x50fc03
cmp al, 0x39
jle 0x50fc16
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 0x50fbf8
jmp 0x50fc52
add esi, edx
push esi
call dword [sym.imp.MSVCRT.dll_atoi]
mov edx, dword [ebp]
mov esi, dword [sym.imp.MSVCRT.dll_strstr]
push 0x627614
push edx
mov dword [esp + 0x68], eax
call esi
add esp, 0xc
test eax, eax
jne 0x50fc4d
mov eax, dword [ebp]
push 0x627610
push eax
call esi
add esp, 8
test eax, eax
je 0x50fc52
mov byte [esp + 0x36], 1
mov esi, dword [sym.imp.MSVCRT.dll__strnicmp]
mov al, byte [esp + 0x2b]
mov byte [esp + 0x37], 0
test al, al
je 0x50fcad
mov ecx, dword [ebp]
push 2
push 0x61c32c
push ecx
call esi
add esp, 0xc
test eax, eax
jne 0x50fca8
mov edx, dword [ebp]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jbe 0x50fca8
mov dl, byte [edx + 3]
push edx
call fcn.004edd40
add esp, 4
test al, al
jne 0x50fca8
mov al, byte [esp + 0x36]
mov byte [esp + 0x37], 1
test al, al
je 0x50fcad
mov byte [esp + 0x37], 0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x44], 0
mov edx, dword [ecx + 0x20]
lea eax, [ecx + 0x20]
test edx, edx
mov dword [esp + 0x48], eax
jle 0x510266
mov ebx, dword [esp + 0x38]
add ecx, 0x1c
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
mov ecx, dword [eax]
mov eax, dword [esp + 0x30]
test eax, eax
mov ebp, dword [ecx + edx*4]
jne 0x50fd2f
mov al, byte [ebp + 0x94]
test al, al
je 0x50fd2f
mov esi, dword [ebx + 8]
lea eax, [ebp + 0x9c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50fd22
test cl, cl
je 0x50fd1e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50fd22
add eax, 2
add esi, 2
test cl, cl
jne 0x50fcfe
xor eax, eax
jmp 0x50fd27
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x50fd2f
mov dword [esp + 0x30], ebp
cmp byte [esp + 0x67], 1
jne 0x50fd7f
mov edi, dword [ebp + 0x74]
mov esi, str.travelsky
mov eax, dword [edi + 8]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50fd65
test cl, cl
je 0x50fd61
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50fd65
add eax, 2
add esi, 2
test cl, cl
jne 0x50fd41
xor eax, eax
jmp 0x50fd6a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x510233
cmp byte [edi + 0x96], 1
je 0x510233
cmp byte [esp + 0x4f], 1
jne 0x50fd94
mov eax, dword [ebp + 0x74]
mov cl, byte [eax + 0x5a]
test cl, cl
je 0x510233
mov al, byte [ebp + 0x12e]
test al, al
jne 0x50fe69
mov eax, dword [ebp + 0x74]
cmp byte [eax + 0x114], 1
jne 0x50fe43
mov al, byte [ebp + 0xc3e]
test al, al
je 0x50fe25
mov ecx, dword [esp + 0x2c]
push 4
push 0x614564
mov edx, dword [ecx]
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x50fe69
mov al, byte [ebp + 0x94]
test al, al
je 0x510233
mov esi, dword [ebx + 8]
lea eax, [ebp + 0x9c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50fe16
test cl, cl
je 0x50fe12
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50fe16
add eax, 2
add esi, 2
test cl, cl
jne 0x50fdf2
xor eax, eax
jmp 0x50fe1b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x510233
jmp 0x50fe69
mov eax, dword [ebx + 8]
push 6
push 0x62686c
push eax
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x510233
jmp 0x50fe69
mov cl, byte [eax + 0x104]
test cl, cl
jne 0x50fe69
mov ecx, dword [ebx + 8]
push 6
push 0x62686c
push ecx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x510233
cmp byte [ebp + 0xc3d], 1
jne 0x50fe9b
mov edx, dword [ebp + 0x74]
mov al, byte [edx + 0x114]
test al, al
jne 0x50fe9b
mov eax, dword [ebx + 8]
push 6
push 0x62686c
push eax
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x510233
cmp byte [ebp + 0xc3c], 1
jne 0x50fec0
mov ecx, dword [ebx + 8]
push 6
push 0x62686c
push ecx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x510233
cmp byte [ebp + 0x12f], 1
jne 0x50fee5
mov edx, dword [ebx + 8]
push 6
push 0x62686c
push edx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x510233
mov eax, dword [ebp + 0x74]
mov cl, byte [eax + 0xcd]
test cl, cl
je 0x50ff03
mov ecx, dword [ebp + 0x38]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
cmp edx, esi
jge 0x510233
mov cl, byte [eax + 0xcc]
test cl, cl
je 0x50ff28
mov ecx, dword [ebp + 0x38]
mov edx, dword [ecx + 0x74]
mov esi, dword [ecx + 0x6c]
mov edi, dword [ecx + 0x68]
add edx, esi
mov esi, dword [ecx + 0x70]
add esi, edi
cmp edx, esi
jge 0x510233
mov cl, byte [eax + 0xf0]
test cl, cl
jne 0x50ffe1
mov cl, byte [esp + 0x2b]
test cl, cl
je 0x50ffe1
mov cl, byte [esp + 0x37]
test cl, cl
jne 0x50ffd3
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jle 0x510233
mov cl, byte [eax + 0x5b]
test cl, cl
je 0x510233
mov eax, dword [eax + 0x60]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x50ffe1
mov al, byte [esp + 0x36]
test al, al
jne 0x50ffe1
lea ecx, [esp + 0x74]
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x74]
push ecx
push 0x626b20
push edx
mov byte [esp + 0x33c], 0x1b
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x80]
mov ecx, dword [ebp + 0x74]
add esp, 0xc
add ecx, 0x60
push eax
call sub.MFC42.DLL_CString::Find_1
test eax, eax
mov byte [esp + 0x330], 0x19
lea ecx, [esp + 0x74]
jge 0x50ffcc
call sub.MFC42.DLL_CString::CString
jmp 0x510233
call sub.MFC42.DLL_CString::CString
jmp 0x50ffe1
mov cl, byte [eax + 0xe4]
test cl, cl
je 0x510233
mov al, byte [ebx + 0x13]
test al, al
je 0x510036
mov esi, dword [esp + 0x2c]
mov edi, dword [sym.imp.MSVCRT.dll__strnicmp]
push 3
push 0x6145c4
mov ecx, dword [esi]
push ecx
call edi
add esp, 0xc
test eax, eax
je 0x510036
mov edx, dword [esi]
push 4
push 0x614564
push edx
call edi
add esp, 0xc
test eax, eax
je 0x510036
mov eax, dword [ebp + 0x74]
lea ecx, [ebx + 0xc]
add eax, 0x24
push ecx
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x510233
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx - 8]
test eax, eax
je 0x51005d
mov edx, dword [ebp + 0x74]
mov eax, dword [edx + 0xac]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x510233
mov ecx, ebp
call fcn.00508f60
cmp eax, 0x1b
jne 0x510077
mov al, byte [ebp + 0x12c]
test al, al
jne 0x5120d0
mov ecx, ebp
call fcn.00508f60
cmp eax, 0x1c
je 0x510233
mov eax, dword [ebx + 8]
lea esi, [ebp + 0x9c]
push eax
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x5100e1
mov ecx, ebp
call fcn.00508f60
cmp eax, 0xa
je 0x5100bf
cmp eax, 0xb
je 0x5100bf
cmp eax, 0xc
je 0x5100bf
cmp eax, 0xd
je 0x5100bf
cmp eax, 0xe
jne 0x5100e1
mov eax, dword [ebp + 0xdc]
xor ecx, ecx
mov cx, word [ebx + 0x16]
cmp eax, ecx
jl 0x510258
mov byte [esp + 0x1f], 1
mov dword [esp + 0x14], ebp
jmp 0x510233
mov al, byte [ebp + 0x94]
test al, al
je 0x510109
cmp dword [ebp + 0x124], 0xf
je 0x51022e
mov byte [esp + 0x3f], 1
mov dword [esp + 0x90], esi
jmp 0x510233
mov ecx, ebp
call fcn.00508f60
cmp eax, 0xb
je 0x51022e
cmp eax, 0xc
je 0x51022e
cmp eax, 0xd
je 0x51022e
cmp eax, 0xe
je 0x51022e
cmp eax, 0xa
jne 0x510233
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x510171
mov edx, dword [ebp + 0x74]
mov ecx, dword [edx + 0xe8]
cmp ecx, 0xfffffff6
jle 0x51022a
mov eax, dword [ebp + 0x38]
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 0x510226
mov eax, dword [ebp + 0x74]
mov edi, dword [sym.imp.MSVCRT.dll__mbsicmp]
add eax, 0x24
lea esi, [ebx + 0xc]
push esi
mov eax, dword [eax]
push eax
call edi
add esp, 8
test eax, eax
je 0x5101ae
mov ecx, dword [esp + 0x10]
push esi
mov eax, dword [ecx + 0x74]
add eax, 0x24
mov eax, dword [eax]
push eax
call edi
add esp, 8
test eax, eax
je 0x510233
mov edi, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov eax, dword [ebp + 0x74]
push esi
add eax, 0x24
mov eax, dword [eax]
push eax
call edi
add esp, 8
test eax, eax
jne 0x5101fd
mov edx, dword [esp + 0x10]
push esi
mov eax, dword [edx + 0x74]
add eax, 0x24
mov eax, dword [eax]
push eax
call edi
add esp, 8
test eax, eax
je 0x5101fd
mov eax, dword [ebp + 0x74]
mov ecx, dword [eax + 0xe8]
cmp ecx, 0xfffffff6
jle 0x51022a
mov edx, dword [ebp + 0x38]
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 0x510226
mov eax, dword [ebp + 0x74]
mov ecx, dword [eax + 0xe8]
cmp ecx, 0xfffffff6
jle 0x51022e
mov edx, dword [ebp + 0x38]
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 + 0x6c]
jae 0x51022e
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], ebp
mov byte [esp + 0x1f], 1
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov edx, dword [ecx]
cmp eax, edx
jl 0x50fcd6
mov al, byte [esp + 0x1f]
test al, al
jne 0x510b66
jmp 0x51026a
mov byte [esp + 0x1e], 1
mov dword [esp + 0x10], ebp
jmp 0x510b6a
mov ebx, dword [esp + 0x38]
mov al, byte [esp + 0x2b]
test al, al
je 0x510450
lea edx, [esp + 0x128]
push 0x627578
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x63ac10]
add esp, 8
test eax, eax
je 0x5102f5
mov cl, byte [eax + 0x40]
test cl, cl
je 0x5102f5
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [esp + 0x128]
push eax
push str._TX_
push 0
push ecx
mov dword [esp + 0x28], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x63ac10]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004ec730
mov eax, dword [0x63ac10]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c8d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x51034b
lea ecx, [esp + 0x128]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x33c], 0x2b
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 [0x6357b8]
mov byte [esp + 0x33c], 0x19
call fcn.00454570
mov eax, dword [0x635470]
test eax, eax
je 0x510669
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x510669
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x51043f
mov cl, byte [esi + 0x88]
test cl, cl
je 0x51043f
call fcn.0044c8d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x51043a
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x51043a
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 + 0x330], 0x2c
mov eax, dword [ecx - 8]
test eax, eax
je 0x510429
mov al, byte [esi + 0x80]
test al, al
je 0x510429
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x510429
lea edx, [esp + 0x128]
lea eax, [esp + 0x78]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x33c], 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, esi
mov byte [esp + 0x33c], 0x2c
call fcn.004024d0
lea ecx, [esp + 0x78]
mov byte [esp + 0x330], 0x19
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x635470]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x51036b
jmp 0x510669
mov eax, dword [esp + 0x58]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x510685
mov cl, byte [esp + 0x3f]
push eax
test cl, cl
jne 0x510480
lea edx, [esp + 0x12c]
push 0x627550
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
jmp 0x51049e
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x12c]
push eax
push 0x626c10
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov eax, dword [0x63ac10]
test eax, eax
je 0x510507
mov cl, byte [eax + 0x40]
test cl, cl
je 0x510507
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [esp + 0x128]
push edx
push str._TX_
push 0
push ecx
mov dword [esp + 0x28], esp
mov eax, dword [ebx + 4]
mov ecx, esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x63ac10]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004ec730
mov eax, dword [0x63ac10]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c8d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x51055d
lea ecx, [esp + 0x128]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x33c], 0x2e
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 [0x6357b8]
mov byte [esp + 0x33c], 0x19
call fcn.00454570
mov eax, dword [0x635470]
test eax, eax
je 0x510669
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x510669
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x51065d
mov cl, byte [esi + 0x88]
test cl, cl
je 0x51065d
call fcn.0044c8d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x510658
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x510658
mov ecx, dword [ebx + 4]
push ecx
lea ecx, [esp + 0x90]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x8c]
mov byte [esp + 0x330], 0x2f
mov eax, dword [ecx - 8]
test eax, eax
je 0x510644
mov al, byte [esi + 0x80]
test al, al
je 0x510644
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x510644
lea edx, [esp + 0x128]
lea eax, [esp + 0x8c]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x33c], 0x30
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 + 0x33c], 0x2f
call fcn.004024d0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x330], 0x19
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x635470]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x51057d
mov eax, dword [ebx + 8]
mov ebp, dword [esp + 0x20]
push eax
mov ecx, ebp
call fcn.00591430
test eax, eax
je 0x510aaa
jmp 0x510a96
mov al, byte [esp + 0x3f]
test al, al
jne 0x510896
mov eax, dword [ebx + 8]
lea edx, [ebx + 0xc]
push edx
push eax
lea ecx, [esp + 0x130]
push str.ERROR:_
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x63ac10]
add esp, 0x10
test eax, eax
je 0x510718
mov cl, byte [eax + 0x40]
test cl, cl
je 0x510718
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [esp + 0x128]
push edx
push str._TX_
push 0
push ecx
mov dword [esp + 0x28], esp
mov eax, dword [ebx + 4]
mov ecx, esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x63ac10]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004ec730
mov eax, dword [0x63ac10]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c8d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x51076e
lea ecx, [esp + 0x128]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x33c], 0x31
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 [0x6357b8]
mov byte [esp + 0x33c], 0x19
call fcn.00454570
mov eax, dword [0x635470]
test eax, eax
je 0x510871
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x510871
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x510865
mov cl, byte [esi + 0x88]
test cl, cl
je 0x510865
call fcn.0044c8d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x510860
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x510860
mov ecx, dword [ebx + 4]
push ecx
lea ecx, [esp + 0x80]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x7c]
mov byte [esp + 0x330], 0x32
mov eax, dword [ecx - 8]
test eax, eax
je 0x51084f
mov al, byte [esi + 0x80]
test al, al
je 0x51084f
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x51084f
lea edx, [esp + 0x128]
lea eax, [esp + 0x7c]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x33c], 0x33
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 + 0x33c], 0x32
call fcn.004024d0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x330], 0x19
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x635470]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x51078e
mov eax, dword [ebx + 8]
mov ebp, dword [esp + 0x20]
push eax
mov ecx, ebp
call fcn.00591430
test eax, eax
je 0x510aaa
mov edx, dword [eax]
push 0
push 0x627508
jmp 0x510aa2
mov ecx, dword [esp + 0x90]
lea eax, [ebx + 0xc]
push eax
push ecx
lea edx, [esp + 0x130]
push 0x626c10
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x63ac10]
add esp, 0x10
test eax, eax
je 0x510921
mov cl, byte [eax + 0x40]
test cl, cl
je 0x510921
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [esp + 0x128]
push eax
push str._TX_
push 0
push ecx
mov dword [esp + 0x28], esp
mov edx, dword [ebx + 4]
mov ecx, esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x63ac10]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004ec730
mov eax, dword [0x63ac10]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c8d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x510977
lea ecx, [esp + 0x128]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._TX_
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x33c], 0x34
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 [0x6357b8]
mov byte [esp + 0x33c], 0x19
call fcn.00454570
mov eax, dword [0x635470]
test eax, eax
je 0x510a83
mov ecx, dword [eax + 0x50]
xor edi, edi
test ecx, ecx
jle 0x510a83
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x510a77
mov cl, byte [esi + 0x88]
test cl, cl
je 0x510a77
call fcn.0044c8d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x510a72
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x510a72
mov ecx, dword [ebx + 4]
push ecx
lea ecx, [esp + 0x88]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x84]
mov byte [esp + 0x330], 0x35
mov eax, dword [ecx - 8]
test eax, eax
je 0x510a5e
mov al, byte [esi + 0x80]
test al, al
je 0x510a5e
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x510a5e
lea edx, [esp + 0x128]
lea eax, [esp + 0x84]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x33c], 0x36
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 + 0x33c], 0x35
call fcn.004024d0
lea ecx, [esp + 0x84]
mov byte [esp + 0x330], 0x19
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x635470]
mov ecx, dword [eax + 0x50]
inc edi
cmp edi, ecx
jl 0x510997
mov eax, dword [ebx + 8]
mov ebp, dword [esp + 0x20]
push eax
mov ecx, ebp
call fcn.00591430
test eax, eax
je 0x510aaa
mov edx, dword [eax]
lea ecx, [esp + 0x128]
push 0
push ecx
mov ecx, eax
call dword [edx + 0x90]
mov dword [esp + 0x18], ebx
mov eax, dword [ebx + 8]
mov byte [esp + 0x330], 0x37
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
cmp eax, esi
jle 0x510afd
mov edx, dword [ebx + 0x28]
mov edi, dword [edx + esi*4]
test edi, edi
je 0x510af5
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 0x510ada
lea esi, [ebx + 0x24]
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.0049f7f0
mov eax, dword [esi + 4]
mov dword [esi], 0x5d115c
test eax, eax
je 0x510b21
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push ebx
mov dword [esi], 0x5c7050
call sub.MFC42.DLL_operatordelete
mov eax, dword [ebp + 0x318]
mov edx, dword [esp + 0x44]
mov ecx, dword [ebp + 0x314]
sub eax, edx
add esp, 4
dec eax
lea esi, [ecx + edx*4]
je 0x510b5b
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 0x51180c
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x510bc3
test ebp, ebp
jne 0x510bbc
mov byte [esp + 0x1e], 1
mov dword [esp + 0x10], eax
mov ebp, eax
mov al, byte [ebp + 0x11f]
test al, al
jne 0x510b9d
cmp byte [ebx + 0x19], 1
jne 0x510b9d
mov byte [esp + 0x1e], 0
mov byte [ebp + 0x11f], 1
mov eax, dword [esp + 0x30]
test eax, eax
je 0x510bab
mov dword [esp + 0x10], eax
mov ebp, eax
test ebp, ebp
jne 0x510d01
inc dword [esp + 0x40]
jmp 0x51180c
mov byte [eax + 0x9c], 0
mov al, byte [esp + 0x1e]
test al, al
jne 0x510b81
cmp byte [ebx + 0x1a], 1
jne 0x510b9d
lea ecx, [esp + 0x88]
call sub.MFC42.DLL_CString::CString_1
mov ebp, dword [esp + 0x20]
mov byte [esp + 0x330], 0x38
mov edx, dword [ebx + 8]
mov ecx, ebp
push edx
call fcn.00591430
mov esi, eax
mov eax, dword [ebx + 0x28]
lea edx, [esp + 0x88]
mov eax, dword [eax]
mov ecx, dword [eax]
push ecx
push 0x10
push 0x6274e4
push edx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x98]
mov eax, dword [esi]
add esp, 0x10
xor edi, edi
push edi
push ecx
mov ecx, esi
call dword [eax + 0x90]
mov dword [esp + 0x18], ebx
mov eax, dword [ebx + 8]
mov byte [esp + 0x330], 0x39
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 0x510c7d
mov edx, dword [ebx + 0x28]
mov edi, dword [edx + esi*4]
test edi, edi
je 0x510c75
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 0x510c5a
lea esi, [ebx + 0x24]
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.0049f7f0
mov eax, dword [esi + 4]
mov dword [esi], 0x5d115c
test eax, eax
je 0x510ca1
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push ebx
mov dword [esi], 0x5c7050
call sub.MFC42.DLL_operatordelete
mov eax, dword [ebp + 0x318]
mov edx, dword [esp + 0x44]
mov ecx, dword [ebp + 0x314]
sub eax, edx
add esp, 4
dec eax
lea esi, [ecx + edx*4]
je 0x510cdb
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 + 0x88]
dec eax
mov byte [esp + 0x330], 0x19
mov dword [ebp + 0x318], eax
call sub.MFC42.DLL_CString::CString
jmp 0x51180c
mov esi, str.XXX000
lea eax, [ebx + 0xc]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x510d2d
test cl, cl
je 0x510d29
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x510d2d
add eax, 2
add esi, 2
test cl, cl
jne 0x510d09
xor eax, eax
jmp 0x510d32
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x510d84
mov esi, dword [ebx + 0x2c]
xor ebp, ebp
test esi, esi
mov dword [esp + 0x14], esi
jle 0x510d84
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 0x510d7f
mov edx, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [edx + 0x74]
mov esi, dword [ecx + 0x24]
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 0x510d43
mov al, byte [ebx + 0x14]
test al, al
je 0x510da8
and eax, 0xff
mov edi, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
mov dword [edi + 0x120], eax
jmp 0x510dbb
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x74]
mov edx, dword [ecx + 0x84]
mov dword [edi + 0x120], edx
lea eax, [edi + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [0x63a8c9]
test al, al
jne 0x510e7d
mov esi, dword [edi + 0x98]
test esi, esi
mov dword [esp + 0x14], esi
je 0x510e73
mov eax, dword [esi + 8]
mov byte [esp + 0x330], 0x3a
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 0x510e34
mov eax, dword [esi + 0x28]
mov ebp, dword [eax + edi*4]
test ebp, ebp
je 0x510e2c
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 0x510e10
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0x24]
call fcn.0049f7f0
mov eax, dword [esi + 0x28]
mov byte [esp + 0x330], 0x19
test eax, eax
mov dword [esi + 0x24], 0x5d115c
je 0x510e5f
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push esi
mov dword [esi + 0x24], 0x5c7050
call sub.MFC42.DLL_operatordelete
mov edi, dword [esp + 0x14]
add esp, 4
mov dword [edi + 0x98], 0
mov ebp, dword [esp + 0x10]
mov edx, dword [ebp + 0x54]
lea ecx, [ebp + 0x54]
call dword [edx + 0x1c]
lea eax, [ebx + 8]
or ecx, 0xffffffff
mov dword [esp + 0x14], eax
lea edx, [ebp + 0x9c]
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 + 0x1e]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test al, al
mov byte [ebp + 0x12d], 0
je 0x511174
mov al, byte [ebx + 0x18]
test al, al
jne 0x511174
mov eax, dword [ebx + 0x2c]
cmp eax, 2
jne 0x510f40
mov ecx, dword [ebx + 0x28]
push 0x61c8a4
mov eax, dword [ecx]
mov edx, dword [eax]
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x510f86
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 0x510f1e
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 0x510f3c
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 0x510f86
dec eax
test eax, eax
jle 0x510f86
mov edi, eax
mov eax, dword [ebx + 0x28]
mov esi, dword [eax]
test esi, esi
je 0x510f61
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 0x510f7c
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 0x510f47
lea eax, [ebp + 0x9c]
push eax
lea eax, [esp + 0xac]
push str.__s__________________
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x63ac10]
add esp, 0xc
test eax, eax
je 0x51100f
mov cl, byte [eax + 0x40]
test cl, cl
je 0x51100f
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp + 0x74]
lea ecx, [esp + 0xa8]
push 0
push ecx
push 0
push ecx
add edx, 0xac
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [0x63ac10]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004ec730
mov eax, dword [0x63ac10]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c8d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x511067
push 0
push ecx
lea edx, [esp + 0xb0]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov byte [esp + 0x338], 0x3b
mov eax, dword [ebp + 0x74]
push ecx
add eax, 0xac
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x6357b8]
mov byte [esp + 0x33c], 0x19
call fcn.00454570
mov eax, dword [0x635470]
test eax, eax
je 0x511718
mov ecx, dword [eax + 0x50]
xor ebx, ebx
test ecx, ecx
jle 0x511718
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov edi, dword [esp + 0x10]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + ebx*4]
test esi, esi
je 0x511163
mov cl, byte [esi + 0x88]
test cl, cl
je 0x511163
call fcn.0044c8d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x51115e
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x51115e
mov ecx, dword [edi + 0x74]
add ecx, 0xac
push ecx
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x68]
mov byte [esp + 0x330], 0x3c
mov eax, dword [ecx - 8]
test eax, eax
je 0x51114d
mov al, byte [esi + 0x80]
test al, al
je 0x51114d
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x51114d
push eax
push ecx
lea edx, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov byte [esp + 0x338], 0x3d
mov eax, dword [edi + 0x74]
push ecx
add eax, 0xac
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x33c], 0x3c
call fcn.004024d0
lea ecx, [esp + 0x68]
mov byte [esp + 0x330], 0x19
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x635470]
mov ecx, dword [eax + 0x50]
inc ebx
cmp ebx, ecx
jl 0x51108b
jmp 0x511718
push edx
lea ecx, [esp + 0xac]
push 0x6274b4
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [ebp + 0x38]
add esp, 0xc
test eax, eax
je 0x511199
mov ecx, ebp
call fcn.00508cd0
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 + 0x11f], 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 0x511540
mov edi, dword [esp + 0x10]
xor bl, bl
mov eax, dword [edi + 0x74]
mov cl, byte [eax + 0x92]
test cl, cl
je 0x5111f5
mov ecx, dword [esi]
push 6
push 0x626c84
push ecx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x5111f5
mov bl, 1
mov edx, dword [edi + 0x74]
mov al, byte [edx + 0x91]
test al, al
jne 0x511544
test bl, bl
jne 0x511544
push 0x14
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
mov dword [esp + 0x44], ebp
test ebp, ebp
mov byte [esp + 0x330], 0x3e
je 0x511299
mov eax, dword [esp + 0x38]
mov edi, 0x61c8a4
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], edx
mov ebx, ecx
mov dword [ebp + 4], ebx
lea eax, [ebx + 1]
push eax
call sub.MFC42.DLL_operatornew
mov ecx, ebx
mov esi, 0x61c8a4
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
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 edx, dword [esp + 0x30]
mov dword [ebp + 0x10], edx
mov byte [ebp + 9], 0
mov dword [esp + 0x14], ebp
jmp 0x5112a1
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x38]
mov byte [esp + 0x330], 0x19
lea esi, [eax + 0x24]
mov edx, dword [esi + 8]
lea ebx, [esi + 8]
test edx, edx
mov dword [esp + 0x2c], ebx
jg 0x5113c3
mov eax, dword [esi + 4]
lea ebp, [esi + 4]
test eax, eax
jne 0x5112f1
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 0x51151c
lea ecx, [esi + 0xc]
mov dword [esp + 0x44], ecx
mov ecx, dword [ecx]
cmp ecx, 1
jl 0x51131f
cmp edx, 1
jge 0x511314
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 0x51151c
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x511349
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x51133d
mov eax, 4
jmp 0x511349
cmp eax, 0x400
jle 0x511349
mov eax, 0x400
add eax, ecx
cmp eax, 1
mov dword [esp + 0x30], eax
jg 0x51135c
mov dword [esp + 0x30], 1
mov ecx, dword [esp + 0x30]
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 dword [ebp], ebx
mov dword [esi], 1
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x38]
add esp, 8
mov dword [ecx], eax
jmp 0x51151c
lea ebx, [edx + 1]
mov dword [esp + 0x6c], edx
test ebx, ebx
lea ebp, [esi + 4]
jne 0x5113fe
mov eax, dword [ebp]
test eax, eax
je 0x5113e8
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 0x5114f6
mov ecx, dword [ebp]
test ecx, ecx
jne 0x51142d
lea eax, [ebx*4]
push eax
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp], eax
push ebx
push eax
call fcn.00586620
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0xc], ebx
mov dword [ecx], ebx
jmp 0x5114f6
lea eax, [esi + 0xc]
mov dword [esp + 0x44], eax
mov edi, dword [eax]
cmp ebx, edi
jg 0x511457
cmp ebx, edx
jle 0x51144c
mov eax, ebx
lea ecx, [ecx + edx*4]
sub eax, edx
push eax
push ecx
call fcn.00586620
mov edx, dword [esp + 0x2c]
mov dword [edx], ebx
jmp 0x5114f6
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x511481
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x511475
mov eax, 4
jmp 0x511481
cmp eax, 0x400
jle 0x511481
mov eax, 0x400
add eax, edi
cmp ebx, eax
mov dword [esp + 0x30], eax
jl 0x51148f
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
push ecx
call sub.MFC42.DLL_operatornew
mov edx, dword [esp + 0x30]
mov esi, dword [ebp]
mov edi, eax
add esp, 4
mov ecx, dword [edx]
mov dword [esp + 0x5c], eax
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.00586620
mov eax, dword [ebp]
push eax
call sub.MFC42.DLL_operatordelete
mov ecx, dword [esp + 0x60]
add esp, 4
mov dword [ebp], ecx
mov dword [esi], ebx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov dword [eax], edx
mov ecx, dword [esp + 0x6c]
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
mov dword [eax], 0
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 0x511524
mov eax, dword [esp + 0x10]
mov byte [eax + 0x12d], 1
mov edi, dword [esp + 0x10]
mov eax, dword [0x63ac10]
test eax, eax
je 0x5115b0
mov cl, byte [eax + 0x40]
test cl, cl
je 0x5115b0
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [edi + 0x74]
lea ecx, [esp + 0xa8]
push 0
push ecx
push 0
push ecx
add edx, 0xac
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [0x63ac10]
push str.command
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
push ecx
push edx
call fcn.004ec730
mov eax, dword [0x63ac10]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
call fcn.0044c8d0
mov eax, dword [eax + 0xd0]
mov cl, byte [eax + 1]
test cl, cl
je 0x511608
push 0
push ecx
lea edx, [esp + 0xb0]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov byte [esp + 0x338], 0x3f
mov eax, dword [edi + 0x74]
push ecx
add eax, 0xac
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x6357b8]
mov byte [esp + 0x33c], 0x19
call fcn.00454570
mov eax, dword [0x635470]
test eax, eax
je 0x511718
mov ecx, dword [eax + 0x50]
xor ebx, ebx
test ecx, ecx
jle 0x511718
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + ebx*4]
test esi, esi
je 0x51170c
mov cl, byte [esi + 0x88]
test cl, cl
je 0x51170c
call fcn.0044c8d0
mov edx, dword [eax + 0xd0]
mov al, byte [edx + 2]
test al, al
je 0x511707
mov eax, dword [esi + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x511707
mov ecx, dword [edi + 0x74]
add ecx, 0xac
push ecx
lea ecx, [esp + 0x84]
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x80]
mov byte [esp + 0x330], 0x40
mov eax, dword [ecx - 8]
test eax, eax
je 0x5116f3
mov al, byte [esi + 0x80]
test al, al
je 0x5116f3
mov eax, dword [esi + 0x84]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x5116f3
push eax
push ecx
lea edx, [esp + 0x88]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov byte [esp + 0x338], 0x41
mov eax, dword [edi + 0x74]
push ecx
add eax, 0xac
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x33c], 0x40
call fcn.004024d0
lea ecx, [esp + 0x80]
mov byte [esp + 0x330], 0x19
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x635470]
mov ecx, dword [eax + 0x50]
inc ebx
cmp ebx, ecx
jl 0x511628
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
xor ecx, ecx
mov cx, word [esi]
lea eax, [edi + 0x5c]
push eax
mov dword [edi + 0x84], ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [edi + 0x54]
mov dword [edi + 0x98], esi
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov al, byte [esp + 0x1e]
test al, al
je 0x511754
add dword [edi + 0xdc], 2
jmp 0x51175e
mov dword [edi + 0xdc], 2
push 0
push 0xc
mov ecx, edi
call fcn.005087c0
mov al, byte [0x63a8c9]
test al, al
jne 0x51180c
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [eax], 0
jle 0x5117d5
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + edx*4]
cmp eax, edi
je 0x5117cc
lea ebp, [eax + 0x9c]
lea esi, [edi + 0x9c]
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x5117c0
test cl, cl
je 0x5117bc
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x5117c0
add eax, 2
add esi, 2
test cl, cl
jne 0x51179c
xor eax, eax
jmp 0x5117c5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5117cc
mov byte [ebp], al
mov ecx, dword [esp + 0x48]
inc edx
cmp edx, dword [ecx]
jl 0x511781
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
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 0x51180a
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 + 0x58]
mov dword [esp + 0x330], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x60], eax
jl 0x50f4ad
mov esi, dword [esp + 0x70]
xor ebx, ebx
mov ebp, esi
cmp esi, ebx
mov dword [esp + 0x24], ebp
je 0x5118ed
mov eax, dword [esi + 4]
mov dword [esp + 0x330], 0x43
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 0x511897
mov eax, dword [esi + 0x20]
xor edi, edi
cmp eax, ebx
jle 0x511897
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + edi*4]
cmp ecx, ebx
je 0x51188f
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esi + 0x20]
inc edi
cmp edi, eax
jl 0x51187f
mov eax, dword [esi + 0x1c]
add esi, 0x18
cmp eax, ebx
je 0x5118ad
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], 0x5d2390
mov eax, dword [ebp + 0x1c]
cmp eax, ebx
je 0x5118ca
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [ebp + 0x18], 0x5c7050
lea ecx, [ebp + 0x14]
mov dword [esp + 0x330], 0xffffffff
call sub.MFC42.DLL_CString::CString
push ebp
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [esp + 0x328]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x324
ret
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
mov ecx, ebx
mov edx, dword [edi + 8]
push edx
call fcn.00591430
xor ebp, ebp
cmp eax, ebp
je 0x51192f
mov edx, dword [eax]
push ebp
push 0x62748c
mov ecx, eax
call dword [edx + 0x90]
cmp edi, ebp
mov dword [esp + 0x24], edi
je 0x5119a1
mov eax, dword [edi + 8]
mov byte [esp + 0x330], 2
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [edi + 4]
mov dword [edi + 8], ebp
push eax
call sub.MFC42.DLL_operatordelete
mov dword [edi + 4], ebp
mov eax, dword [edi + 0x2c]
add esp, 8
xor esi, esi
cmp eax, ebp
jle 0x51197c
mov eax, dword [edi + 0x28]
mov ecx, dword [eax + esi*4]
cmp ecx, ebp
je 0x511974
push 1
call fcn.0050b060
mov eax, dword [edi + 0x2c]
inc esi
cmp esi, eax
jl 0x511963
lea esi, [edi + 0x24]
push 0xffffffffffffffff
push ebp
mov ecx, esi
call fcn.0049f7f0
mov ecx, esi
mov byte [esp + 0x330], 1
call fcn.004badc0
push edi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [ebx + 0x318]
mov edx, dword [esp + 0x40]
mov ecx, dword [ebx + 0x314]
sub eax, edx
dec eax
lea esi, [ecx + edx*4]
je 0x5119cc
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 [ebx + 0x318]
lea ecx, [esp + 0x94]
dec eax
mov byte [esp + 0x330], 0
mov dword [ebx + 0x318], eax
call fcn.00596f82
lea ecx, [esp + 0x50]
mov dword [esp + 0x330], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x5118ed
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0x54]
add edx, 4
push edx
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x330], 3
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esp + 0x20]
mov byte [esp + 0x330], 4
mov dword [esp + 0x68], ebx
mov eax, dword [eax + 0x2f0]
cmp eax, ebx
jle 0x511ab5
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x68]
mov edx, dword [ecx + 0x2ec]
mov ebx, dword [edx + eax*4]
test ebx, ebx
je 0x511a96
mov eax, dword [ebx + 0x20]
xor edi, edi
test eax, eax
jle 0x511a96
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x511a8a
mov eax, dword [esi + 0x74]
test eax, eax
je 0x511a8a
mov edx, dword [esp + 0x54]
mov eax, dword [eax + 0x4c]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x511a94
mov eax, dword [ebx + 0x20]
inc edi
cmp edi, eax
jl 0x511a63
jmp 0x511a96
mov ebp, esi
test ebp, ebp
jne 0x511b91
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x68]
inc eax
mov edx, dword [ecx + 0x2f0]
mov dword [esp + 0x68], eax
cmp eax, edx
jl 0x511a45
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x10]
push edx
push 0x62746c
push eax
call sub.MFC42.DLL_CString::Format
mov eax, dword [0x63ac10]
add esp, 0xc
test eax, eax
je 0x511b3a
mov cl, byte [eax + 0x40]
test cl, cl
je 0x511b3a
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0
lea ecx, [esp + 0x14]
call fcn.0041a990
push eax
push 0x60e5d8
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x63546c
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63ac10]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004ec730
mov eax, dword [0x63ac10]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x338], 5
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x60e5d8
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x33c], 6
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x63546c
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x340], 7
mov ecx, esp
mov dword [esp + 0x24], esp
jmp 0x511c7f
mov al, byte [ebp + 0xc3d]
test al, al
jne 0x511d7a
mov ecx, dword [esp + 0x54]
lea edx, [esp + 0x10]
push ecx
push 0x627448
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [0x63ac10]
add esp, 0xc
test eax, eax
je 0x511c28
mov cl, byte [eax + 0x40]
test cl, cl
je 0x511c28
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0
lea ecx, [esp + 0x14]
call fcn.0041a990
push eax
mov eax, dword [ebp + 0x74]
push 0x60e5d8
push ecx
add eax, 0xac
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x63ac10]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004ec730
mov eax, dword [0x63ac10]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x338], 8
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x60e5d8
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [ebp + 0x74]
push ecx
add edx, 0xac
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x340], 9
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x340], 0xa
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x6132c0
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x6357ec]
mov byte [esp + 0x340], 4
call fcn.004590c0
xor ebx, ebx
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 8], ebx
je 0x511eb2
mov esi, dword [esp + 0x38]
mov ebp, dword [esp + 0x20]
mov ecx, ebp
mov edx, dword [esi + 8]
push edx
call fcn.00591430
cmp eax, ebx
je 0x511cd2
mov ecx, dword [esp + 0x10]
mov edx, dword [eax]
push ebx
push ecx
mov ecx, eax
call dword [edx + 0x90]
cmp esi, ebx
mov dword [esp + 0x24], esi
je 0x511d44
mov eax, dword [esi + 8]
mov byte [esp + 0x330], 0xe
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 0x511d1f
mov edx, dword [esi + 0x28]
mov ecx, dword [edx + edi*4]
cmp ecx, ebx
je 0x511d17
push 1
call fcn.0050b060
mov eax, dword [esi + 0x2c]
inc edi
cmp edi, eax
jl 0x511d06
lea edi, [esi + 0x24]
push 0xffffffffffffffff
push ebx
mov ecx, edi
call fcn.0049f7f0
mov ecx, edi
mov byte [esp + 0x330], 4
call fcn.004badc0
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [ebp + 0x318]
mov edx, dword [esp + 0x40]
mov ecx, dword [ebp + 0x314]
sub eax, edx
dec eax
lea esi, [ecx + edx*4]
je 0x511d6f
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 0x511ff1
mov ecx, ebp
call fcn.00508f60
cmp eax, 0x1b
jne 0x511c9c
mov al, byte [ebp + 0x12c]
test al, al
je 0x511c9c
mov byte [ebp + 0x12c], 0
mov eax, dword [esp + 0x54]
push eax
lea ecx, [esp + 0x14]
push 0x62740c
push ecx
call sub.MFC42.DLL_CString::Format
xor ebx, ebx
mov dword [ebp + 0x144], 1
mov dword [ebp + 0x88], ebx
mov eax, dword [0x63ac10]
add esp, 0xc
cmp eax, ebx
je 0x511e3a
mov cl, byte [eax + 0x40]
test cl, cl
je 0x511e3a
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push ebx
lea ecx, [esp + 0x14]
call fcn.0041a990
mov edx, dword [ebp + 0x74]
push eax
push 0x60e5d8
push ecx
add edx, 0xac
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [0x63ac10]
push str.runtime
push str.tdsms
mov ecx, dword [eax + 0x44]
push ecx
call fcn.004ec730
mov edx, dword [0x63ac10]
add esp, 0x1c
mov eax, dword [edx + 0x248]
lea ecx, [edx + 0x248]
call dword [eax + 0x1c]
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x338], 0xb
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x60e5d8
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp + 0x74]
push ecx
add eax, 0xac
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov byte [esp + 0x340], 0xc
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x340], 0xd
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x6132c0
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x6357ec]
mov byte [esp + 0x340], 4
call fcn.004590c0
jmp 0x511c9e
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [ebp + 0x5c]
push edx
call esi
mov eax, dword [esp + 0x38]
mov edx, dword [ebp + 0x54]
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x98], eax
call dword [edx + 0x1c]
mov eax, dword [0x63ac10]
cmp eax, ebx
je 0x511f3c
mov cl, byte [eax + 0x40]
test cl, cl
je 0x511f3c
add eax, 0x250
push eax
call esi
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp + 0x74]
push ebx
add edx, 0xac
mov ecx, dword [eax]
push ecx
push 0x60e5d8
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [0x63ac10]
push str.runtime
push str.tdsms
mov ecx, dword [eax + 0x44]
push ecx
call fcn.004ec730
mov edx, dword [0x63ac10]
add esp, 0x1c
mov eax, dword [edx + 0x248]
lea ecx, [edx + 0x248]
call dword [eax + 0x1c]
mov edx, dword [esp + 0x2c]
push ecx
mov dword [esp + 0x28], esp
mov ecx, esp
mov eax, dword [edx]
push eax
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x338], 0xf
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x60e5d8
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [ebp + 0x74]
push ecx
add edx, 0xac
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x340], 0x10
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x340], 0x11
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x6132c0
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x6357ec]
mov byte [esp + 0x340], 4
call fcn.004590c0
push ebx
push 0xc
mov ecx, ebp
call fcn.005087c0
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 0x318]
mov ecx, dword [esi + 0x314]
sub eax, edx
dec eax
lea edi, [ecx + edx*4]
je 0x511feb
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]
mov esi, dword [esp + 0x70]
cmp esi, ebx
mov dword [esp + 0x24], esi
je 0x512081
mov eax, dword [esi + 4]
mov byte [esp + 0x330], 0x13
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 0x51204c
mov eax, dword [esi + 0x20]
xor edi, edi
cmp eax, ebx
jle 0x51204c
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + edi*4]
cmp ecx, ebx
je 0x512044
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esi + 0x20]
inc edi
cmp edi, eax
jl 0x512034
lea edi, [esi + 0x18]
push 0xffffffffffffffff
push ebx
mov ecx, edi
call fcn.0049f7f0
mov ecx, edi
mov byte [esp + 0x330], 0x12
call fcn.00514e60
lea ecx, [esi + 0x14]
mov byte [esp + 0x330], 4
call sub.MFC42.DLL_CString::CString
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x330], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x54]
mov byte [esp + 0x330], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x94]
mov byte [esp + 0x330], 0
call fcn.00596f82
lea ecx, [esp + 0x50]
mov dword [esp + 0x330], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x5118ed
mov eax, dword [ebp + 0x74]
lea esi, [ebp + 0x74]
test eax, eax
je 0x512209
mov eax, dword [eax + 0xc0]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
shl ecx, 2
push ecx
mov ecx, ebp
call sym.ETermProxy.exe_public:_bool___thiscall_CClientObject::CheckTimeout_int_
test al, al
jne 0x512209
mov eax, dword [0x63ac10]
test eax, eax
je 0x51216a
mov cl, byte [eax + 0x40]
test cl, cl
je 0x51216a
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [esi]
push 0
push str.ERROR:_PID
push 0x60e5d8
push ecx
add edx, 0xac
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [0x63ac10]
push str.runtime
push str.tdsms
mov ecx, dword [eax + 0x44]
push ecx
call fcn.004ec730
mov edx, dword [0x63ac10]
add esp, 0x1c
mov eax, dword [edx + 0x248]
lea ecx, [edx + 0x248]
call dword [eax + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.ERROR:_PID
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x338], 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x60e5d8
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [esi]
push ecx
add edx, 0xac
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x340], 0x1d
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x340], 0x1e
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x6132c0
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x6357ec]
mov byte [esp + 0x340], 0x19
call fcn.004590c0
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
mov ecx, dword [eax + 8]
lea edi, [eax + 8]
push ecx
mov ecx, ebx
call fcn.00591430
test eax, eax
je 0x512319
mov edx, dword [eax]
push 0
push 0x6273cc
jmp 0x512311
mov byte [ebp + 0x12c], 0
mov eax, dword [0x63ac10]
test eax, eax
je 0x51227c
mov cl, byte [eax + 0x40]
test cl, cl
je 0x51227c
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi]
push 0
push 0x627394
push 0x60e5d8
push ecx
add eax, 0xac
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x63ac10]
push str.runtime
push str.tdsms
mov edx, dword [ecx + 0x44]
push edx
call fcn.004ec730
mov eax, dword [0x63ac10]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x627394
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x338], 0x1f
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x60e5d8
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esi]
push ecx
add eax, 0xac
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov byte [esp + 0x340], 0x20
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x340], 0x21
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x6132c0
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x6357ec]
mov byte [esp + 0x340], 0x19
call fcn.004590c0
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
mov edx, dword [ecx + 8]
lea edi, [ecx + 8]
push edx
mov ecx, ebx
call fcn.00591430
test eax, eax
je 0x512319
mov edx, dword [eax]
push 0
push 0x627394
mov ecx, eax
call dword [edx + 0x90]
mov esi, dword [esp + 0x38]
xor ebp, ebp
cmp esi, ebp
mov dword [esp + 0x24], esi
je 0x51239c
mov edi, dword [edi]
mov byte [esp + 0x330], 0x22
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 0x512376
mov eax, dword [esi + 0x28]
mov ebp, dword [eax + edi*4]
test ebp, ebp
je 0x51236e
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 0x512352
xor ebp, ebp
push 0xffffffffffffffff
push ebp
lea ecx, [esi + 0x24]
call fcn.0049f7f0
lea ecx, [esi + 0x24]
mov byte [esp + 0x330], 0x19
call fcn.004badc0
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [ebx + 0x318]
mov edx, dword [esp + 0x40]
mov ecx, dword [ebx + 0x314]
lea esi, [ebx + 0x318]
sub eax, edx
dec eax
lea edi, [ecx + edx*4]
je 0x5123cd
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 + 0x70]
cmp esi, ebp
mov dword [esp + 0x24], esi
je 0x51245d
mov eax, dword [esi + 4]
mov byte [esp + 0x330], 0x24
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 0x512429
mov eax, dword [esi + 0x20]
xor edi, edi
cmp eax, ebp
jle 0x512429
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + edi*4]
cmp ecx, ebp
je 0x512421
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esi + 0x20]
inc edi
cmp edi, eax
jl 0x512411
push 0xffffffffffffffff
push ebp
lea ecx, [esi + 0x18]
call fcn.0049f7f0
lea ecx, [esi + 0x18]
mov byte [esp + 0x330], 0x23
call fcn.00514e60
lea ecx, [esi + 0x14]
mov byte [esp + 0x330], 0x19
call sub.MFC42.DLL_CString::CString
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x58]
mov dword [esp + 0x330], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x5118ed