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

Disassembly:
push 0xffffffffffffffff
push 0x579507
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xac
push ebx
mov bl, byte [0x5b62c8]
push ebp
push esi
mov esi, dword [0x5b62c4]
push edi
xor edx, edx
mov ecx, 6
xor eax, eax
lea edi, [esp + 0xa1]
mov dword [esp + 0x80], 0x14
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], 0x384
mov byte [esp + 0x94], dl
mov byte [esp + 0x95], 1
mov byte [esp + 0x96], dl
mov byte [esp + 0x97], 0x86
mov byte [esp + 0x98], dl
mov byte [esp + 0x99], dl
mov byte [esp + 0x9a], dl
mov byte [esp + 0x9b], dl
mov dword [esp + 0x9c], esi
mov byte [esp + 0xa0], bl
mov dword [esp + 0x44], 0xf
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x65]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], 0x190
mov byte [esp + 0x58], dl
mov byte [esp + 0x59], dl
mov byte [esp + 0x5a], dl
mov byte [esp + 0x5b], 0x86
mov byte [esp + 0x5c], dl
mov byte [esp + 0x5d], dl
mov byte [esp + 0x5e], dl
mov byte [esp + 0x5f], 0x30
mov dword [esp + 0x60], esi
mov byte [esp + 0x64], bl
mov ebp, dword [esp + 0xcc]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 0x360]
cmp eax, 0x3e8
jg 0x5292d5
mov esi, dword [ebp + 0x364]
mov ecx, dword [esp + 0xd4]
mov ebx, esi
mov edi, 0x67
shl ebx, 5
add ebx, esi
lea ecx, [ecx + ecx*8]
shl ebx, 1
shl ecx, 2
mov esi, ebx
mov dword [esp + 0x3c], ecx
sub esi, ecx
mov ecx, dword [esp + 0xd0]
add esi, ecx
lea ecx, [eax + 2]
test ecx, ecx
mov ebx, edi
mov dword [esp + 0x14], edx
jle 0x528acf
jmp 0x528a54
xor edx, edx
mov ecx, dword [esp + 0x14]
cmp ecx, edx
je 0x528a8e
inc eax
cmp ecx, eax
je 0x528a8e
push 0
push 1
push ebx
cmp ecx, 1
push esi
push edi
jne 0x528a84
mov edx, dword [esp + 0xe4]
mov ecx, ebp
push edx
call fcn.004cc8d0
add edi, 0x1b
add ebx, 0x1b
jmp 0x528ab9
mov eax, dword [esp + 0xe4]
push eax
jmp 0x528a9d
mov ecx, dword [esp + 0xd0]
push 0
push 2
push ebx
push esi
push edi
push ecx
mov ecx, ebp
call fcn.004cc8d0
cmp dword [esp + 0x14], 1
jl 0x528ab3
add edi, 0x1b
add ebx, 0x1b
jmp 0x528ab9
add edi, 0x2b
add ebx, 0x2b
mov eax, dword [ebp + 0x360]
mov ecx, dword [esp + 0x14]
inc ecx
lea edx, [eax + 2]
mov dword [esp + 0x14], ecx
cmp ecx, edx
jl 0x528a52
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0x18]
mov edi, eax
mov ebx, eax
mov eax, dword [ebp + 0x360]
lea eax, [eax + eax*2]
lea esi, [eax + eax*8 + 0x92]
mov dword [esp + 0x2c], esi
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp + 0x364]
xor ecx, ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x14], ecx
lea edx, [eax + 1]
test edx, edx
jle 0x528bcc
jmp 0x528b1f
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x528b2d
cmp ecx, eax
je 0x528b2d
push 0
push 1
jmp 0x528b31
push 0
push 2
push esi
push ebx
push 0x67
push edi
mov ecx, ebp
call fcn.004cc8d0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x364]
cmp eax, ecx
jge 0x528bb2
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Empty
mov ecx, dword [ebp + 0x350]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx + edx*4]
lea ecx, [esp + 0x18]
add eax, 8
push eax
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [esp + 0x18]
mov esi, 0x5b6304
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x528b9b
test cl, cl
je 0x528b97
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x528b9b
add eax, 2
add esi, 2
test cl, cl
jne 0x528b77
xor eax, eax
jmp 0x528ba0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x528bac
add edi, 0x1e
add ebx, 0x1e
jmp 0x528bb2
add edi, 0x42
add ebx, 0x42
mov eax, dword [ebp + 0x364]
mov ecx, dword [esp + 0x14]
inc ecx
lea edx, [eax + 1]
mov dword [esp + 0x14], ecx
cmp ecx, edx
jl 0x528b17
push 0
push 0
push 0
mov ecx, 0xf
sub esp, 0x3c
lea esi, [esp + 0xc8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x94], esp
push 0x5b62bc
call fcn.0055734e
push ecx
lea eax, [ebp + 0x368]
mov ecx, esp
mov dword [esp + 0x8c], esp
push eax
mov byte [esp + 0x12c], 1
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [ebp + 0x364]
mov ebx, dword [esp + 0xa0]
mov eax, ecx
push 0x1e
shl eax, 5
add eax, ecx
mov byte [esp + 0x12c], 0
shl eax, 1
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
lea ecx, [eax + 0xc8]
push ecx
push 3
push eax
mov ecx, ebp
call fcn.004ccc50
push 0x5be570
lea ecx, [esp + 0x20]
call fcn.0055734e
lea edx, [ebp + 0x36c]
lea ecx, [esp + 0x1c]
push edx
mov byte [esp + 0xc8], 2
call fcn.0055727c
push 0xd
lea ecx, [esp + 0x20]
call fcn.00557258
push 0xa
lea ecx, [esp + 0x20]
call fcn.00557258
push 0x5be560
lea ecx, [esp + 0x20]
call fcn.00557276
push 0x20
lea ecx, [esp + 0x20]
call fcn.00557258
push 0x5be550
lea ecx, [esp + 0x20]
call fcn.00557276
push 0x20
lea ecx, [esp + 0x20]
call fcn.00557258
push 0x5be544
lea ecx, [esp + 0x20]
call fcn.00557276
lea eax, [ebp + 0x378]
lea ecx, [esp + 0x1c]
push eax
call fcn.0055727c
push 0xd
lea ecx, [esp + 0x20]
call fcn.00557258
push 0xa
lea ecx, [esp + 0x20]
call fcn.00557258
push 0
push 0
push 0
mov ecx, 0xf
sub esp, 0x3c
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 2
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x94], esp
push 0x5b6314
call fcn.0055734e
push ecx
lea edx, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x8c], esp
push edx
mov byte [esp + 0x12c], 3
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [ebp + 0x364]
mov ecx, dword [esp + 0x134]
mov edx, eax
push 0x64
shl edx, 5
add edx, eax
lea esi, [ecx + 3]
shl edx, 1
sub edx, ebx
mov byte [esp + 0x12c], 2
mov dword [esp + 0x94], esi
lea eax, [edx + ecx - 3]
mov ecx, ebp
push eax
push 0x2b
push esi
call fcn.004ccc50
mov dword [0x5c03c4], 1
mov eax, dword [ebp + 0x364]
test eax, eax
mov ebx, esi
mov dword [esp + 0x20], 0
jle 0x529000
mov esi, dword [esp + 0x20]
lea ecx, [ebx + 0x3c]
lea edx, [ebx + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc4], 4
call sub.MFC42.DLL_CString::Empty
mov eax, dword [ebp + 0x350]
lea ecx, [esp + 0x10]
mov eax, dword [eax + esi*4]
add eax, 8
push eax
call sub.MFC42.DLL_CString::operator_2
mov esi, dword [esp + 0x10]
mov edi, 0x5b6304
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x528e21
test al, al
je 0x528e1d
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x528e21
add esi, 2
add edi, 2
test al, al
jne 0x528df9
xor eax, eax
jmp 0x528e26
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x528f0b
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::Empty
push 0x5be2c0
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_1
push 0xd
lea ecx, [esp + 0x14]
call fcn.00557258
push 0xa
lea ecx, [esp + 0x14]
call fcn.00557258
push 0x5be2bc
lea ecx, [esp + 0x14]
call fcn.00557276
push 0xd
lea ecx, [esp + 0x14]
call fcn.00557258
push 0xa
lea ecx, [esp + 0x14]
call fcn.00557258
push 0
push 0
push 0
mov ecx, 0xf
sub esp, 0x3c
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x94], esp
push 0x5b630c
call fcn.0055734e
push ecx
lea eax, [esp + 0x74]
mov ecx, esp
mov dword [esp + 0x9c], esp
push eax
mov byte [esp + 0x12c], 5
call sub.MFC42.DLL_CString::CString_2
mov esi, dword [esp + 0x88]
push 0x8f
push esi
push 0x6a
push ebx
mov ecx, ebp
mov byte [esp + 0x138], 4
call fcn.004ccc50
mov eax, dword [esp + 0x14]
add ebx, 0x1e
add esi, 0x1e
add eax, 0x1e
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], eax
jmp 0x528fd8
lea ecx, [esp + 0x28]
push 4
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xc8], 6
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x28]
mov byte [esp + 0xc4], 4
call sub.MFC42.DLL_CString::CString
push 0xd
lea ecx, [esp + 0x14]
call fcn.00557258
push 0xa
lea ecx, [esp + 0x14]
call fcn.00557258
push 0
push 0
push 0
mov ecx, 0xf
sub esp, 0x3c
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x94], esp
push 0x5b630c
call fcn.0055734e
push ecx
lea edx, [esp + 0x74]
mov ecx, esp
mov dword [esp + 0x9c], esp
push edx
mov byte [esp + 0x12c], 7
call sub.MFC42.DLL_CString::CString_2
mov esi, dword [esp + 0x78]
push 0x8f
push esi
push 0x6a
push ebx
mov ecx, ebp
mov byte [esp + 0x138], 4
call fcn.004ccc50
mov ecx, dword [esp + 0x24]
add ebx, 0x42
add ecx, 0x42
add esi, 0x42
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x10]
mov byte [esp + 0xc4], 2
call sub.MFC42.DLL_CString::CString
mov esi, dword [esp + 0x20]
mov eax, dword [ebp + 0x364]
inc esi
cmp esi, eax
mov dword [esp + 0x20], esi
jl 0x528dc0
mov eax, dword [ebp + 0x360]
mov dword [esp + 0x20], 0x95
inc eax
mov dword [esp + 0x10], 0xaa
cmp eax, 1
mov dword [esp + 0x28], 1
jle 0x529202
mov eax, dword [ebp + 0x364]
mov ebx, dword [esp + 0x2c]
xor esi, esi
test eax, eax
mov dword [esp + 0x38], esi
jle 0x5291d8
lea ecx, [ebx + 0x3c]
lea edx, [ebx + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Empty
mov eax, dword [ebp + 0x350]
lea ecx, [esp + 0x18]
mov eax, dword [eax + esi*4]
add eax, 8
push eax
call sub.MFC42.DLL_CString::operator_2
mov esi, dword [esp + 0x18]
mov edi, 0x5b6304
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x52909e
test al, al
je 0x52909a
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x52909e
add esi, 2
add edi, 2
test al, al
jne 0x529076
xor eax, eax
jmp 0x5290a3
sbb eax, eax
sbb eax, 0xffffffff
push 0
push 0
test eax, eax
push 0
jne 0x52913d
sub esp, 0x3c
mov ecx, 0xf
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x94], esp
push 0x5b6304
call fcn.0055734e
push ecx
mov byte [esp + 0x128], 8
mov ecx, esp
mov dword [esp + 0x94], esp
push 0x5c0168
call fcn.0055734e
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
push eax
push esi
push ecx
push ebx
mov ecx, ebp
mov byte [esp + 0x138], 2
call fcn.004ccc50
mov eax, dword [esp + 0x14]
add ebx, 0x1e
add esi, 0x1e
add eax, 0x1e
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], eax
jmp 0x5291c1
sub esp, 0x3c
mov ecx, 0xf
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0
push ecx
lea edx, [esp + 0x78]
mov ecx, esp
mov dword [esp + 0x90], esp
push edx
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x128], 9
mov ecx, esp
mov dword [esp + 0x98], esp
push 0x5c0168
call fcn.0055734e
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
push eax
push esi
push ecx
push ebx
mov ecx, ebp
mov byte [esp + 0x138], 2
call fcn.004ccc50
mov ecx, dword [esp + 0x24]
add ebx, 0x42
add ecx, 0x42
add esi, 0x42
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x38]
mov eax, dword [ebp + 0x364]
inc esi
cmp esi, eax
mov dword [esp + 0x38], esi
jl 0x52904e
mov eax, dword [esp + 0x20]
mov edx, dword [ebp + 0x360]
add eax, 0x1b
mov dword [esp + 0x20], eax
add eax, 0x15
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
inc eax
inc edx
cmp eax, edx
mov dword [esp + 0x28], eax
jl 0x529028
push 0
push 0
push 0
mov ecx, 0xf
sub esp, 0x3c
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x90], esp
push 0x5b62b4
call fcn.0055734e
push ecx
mov byte [esp + 0x128], 0xa
mov ecx, esp
mov dword [esp + 0x8c], esp
push 0x5be504
call fcn.0055734e
mov eax, dword [ebp + 0x360]
mov ecx, dword [0x5c01a4]
mov edi, dword [esp + 0xa0]
mov byte [esp + 0x128], 2
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [eax + ecx + 0x95]
mov ecx, dword [ebp + 0x364]
push edx
mov edx, ecx
shl edx, 5
add edx, ecx
mov ecx, dword [esp + 0x138]
shl edx, 1
sub edx, edi
add eax, 0x95
lea edx, [edx + ecx - 3]
mov ecx, ebp
push edx
push eax
mov eax, dword [esp + 0x9c]
push eax
call fcn.004ccc50
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc4], 0
call sub.MFC42.DLL_CString::CString
mov dword [esp + 0xc4], 0xffffffff
lea ecx, [esp + 0x18]
jmp 0x529abe
mov ecx, dword [esp + 0xd4]
lea edx, [eax + 2]
mov esi, 0x67
lea ebx, [ecx + ecx*8]
mov ecx, dword [ebp + 0x364]
mov edi, ecx
shl edi, 5
add edi, ecx
xor ecx, ecx
shl ebx, 2
shl edi, 1
mov dword [esp + 0x3c], ebx
sub edi, ebx
mov ebx, dword [esp + 0xd0]
mov dword [esp + 0x28], ecx
add edi, ebx
test edx, edx
jle 0x52934c
test ecx, ecx
je 0x529324
inc eax
cmp ecx, eax
je 0x529324
push 0
cmp ecx, 1
push 1
jmp 0x529328
push 0
push 2
push esi
push edi
push esi
push ebx
mov ecx, ebp
call fcn.004cc8d0
mov eax, dword [ebp + 0x360]
mov ecx, dword [esp + 0x28]
add esi, 0xc
inc ecx
lea edx, [eax + 2]
mov dword [esp + 0x28], ecx
cmp ecx, edx
jl 0x529312
mov eax, dword [ebp + 0x360]
mov esi, ebx
mov edi, ebx
mov dword [esp + 0x14], esi
lea eax, [eax + eax*2]
lea ecx, [eax*4 + 0x73]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp + 0x364]
mov dword [esp + 0xc4], 0xb
mov dword [esp + 0x18], 0
lea edx, [eax + 1]
test edx, edx
jle 0x529465
mov ecx, dword [esp + 0x18]
jmp 0x5293a3
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
test ecx, ecx
je 0x5293b6
cmp ecx, eax
je 0x5293b6
mov eax, dword [esp + 0x2c]
push 0
push 1
push eax
jmp 0x5293bf
mov ecx, dword [esp + 0x2c]
push 0
push 2
push ecx
push esi
push 0x67
push edi
mov ecx, ebp
call fcn.004cc8d0
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x364]
cmp edx, eax
jge 0x52944b
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::Empty
mov eax, dword [ebp + 0x350]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x10]
add eax, 8
push eax
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [esp + 0x10]
mov esi, 0x5b6304
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x529428
test cl, cl
je 0x529424
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x529428
add eax, 2
add esi, 2
test cl, cl
jne 0x529404
xor eax, eax
jmp 0x52942d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x52943d
mov eax, dword [esp + 0x14]
add edi, 0x1e
add eax, 0x1e
jmp 0x529447
mov eax, dword [esp + 0x14]
add edi, 0x42
add eax, 0x42
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x364]
mov ecx, dword [esp + 0x18]
inc ecx
lea edx, [eax + 1]
mov dword [esp + 0x18], ecx
cmp ecx, edx
jl 0x52939b
push 0
push 0
push 0
mov ecx, 0xf
sub esp, 0x3c
lea esi, [esp + 0xc8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x90], esp
push 0x5b62bc
call fcn.0055734e
push ecx
lea eax, [ebp + 0x368]
mov ecx, esp
mov dword [esp + 0x98], esp
push eax
mov byte [esp + 0x12c], 0xc
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [ebp + 0x364]
mov edi, dword [esp + 0xa0]
mov eax, ecx
push 0x1e
shl eax, 5
add eax, ecx
mov byte [esp + 0x12c], 0xb
shl eax, 1
sub eax, edi
cdq
sub eax, edx
sar eax, 1
lea ecx, [eax + 0xc8]
push ecx
push 3
push eax
mov ecx, ebp
call fcn.004ccc50
push 0x5be570
lea ecx, [esp + 0x24]
call fcn.0055734e
lea edx, [ebp + 0x36c]
lea ecx, [esp + 0x20]
push edx
mov byte [esp + 0xc8], 0xd
call fcn.0055727c
push 0xd
lea ecx, [esp + 0x24]
call fcn.00557258
push 0xa
lea ecx, [esp + 0x24]
call fcn.00557258
push 0x5be560
lea ecx, [esp + 0x24]
call fcn.00557276
push 0x20
lea ecx, [esp + 0x24]
call fcn.00557258
push 0x5be550
lea ecx, [esp + 0x24]
call fcn.00557276
push 0x20
lea ecx, [esp + 0x24]
call fcn.00557258
push 0x5be544
lea ecx, [esp + 0x24]
call fcn.00557276
lea eax, [ebp + 0x378]
lea ecx, [esp + 0x20]
push eax
call fcn.0055727c
push 0xd
lea ecx, [esp + 0x24]
call fcn.00557258
push 0xa
lea ecx, [esp + 0x24]
call fcn.00557258
push 0
push 0
push 0
mov ecx, 0xf
sub esp, 0x3c
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x90], esp
push 0x5b6314
call fcn.0055734e
push ecx
lea edx, [esp + 0x84]
mov ecx, esp
mov dword [esp + 0x98], esp
push edx
mov byte [esp + 0x12c], 0xe
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [ebp + 0x364]
push 0x64
mov edx, eax
lea ecx, [ebx + 3]
shl edx, 5
add edx, eax
mov eax, dword [esp + 0xa4]
shl edx, 1
sub edx, eax
mov dword [esp + 0x94], ecx
mov byte [esp + 0x12c], 0xd
lea eax, [edx + ebx - 3]
push eax
push 0x2b
push ecx
mov ecx, ebp
call fcn.004ccc50
mov dword [0x5c03c4], 1
mov ecx, dword [ebp + 0x360]
inc ecx
mov dword [esp + 0x14], 0x6a
test ecx, ecx
mov dword [esp + 0x24], 0x70
mov dword [esp + 0x38], 0
jle 0x5299f5
mov eax, dword [ebp + 0x364]
mov ebx, dword [esp + 0x2c]
xor esi, esi
test eax, eax
mov dword [esp + 0x28], esi
jle 0x5299cb
lea edx, [ebx + 0x3c]
lea eax, [ebx + 0x18]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x10]
test eax, eax
jne 0x529866
call sub.MFC42.DLL_CString::Empty
mov ecx, dword [ebp + 0x350]
mov esi, dword [ecx + esi*4]
lea ecx, [esp + 0x10]
add esi, 8
push esi
call sub.MFC42.DLL_CString::operator_2
mov esi, dword [esp + 0x10]
mov edi, 0x5b6304
mov dl, byte [esi]
mov cl, byte [edi]
mov al, dl
cmp dl, cl
jne 0x5296d8
test al, al
je 0x5296d4
mov cl, byte [esi + 1]
mov dl, byte [edi + 1]
mov al, cl
cmp cl, dl
jne 0x5296d8
add esi, 2
add edi, 2
test al, al
jne 0x5296b0
xor eax, eax
jmp 0x5296dd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5297c5
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::Empty
push 0x5be2c0
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_1
push 0xd
lea ecx, [esp + 0x14]
call fcn.00557258
push 0xa
lea ecx, [esp + 0x14]
call fcn.00557258
push 0x5be2bc
lea ecx, [esp + 0x14]
call fcn.00557276
push 0xd
lea ecx, [esp + 0x14]
call fcn.00557258
push 0xa
lea ecx, [esp + 0x14]
call fcn.00557258
push 0
push 0
push 0
mov ecx, 0xf
sub esp, 0x3c
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x90], esp
push 0x5b630c
call fcn.0055734e
push ecx
lea edx, [esp + 0x74]
mov ecx, esp
mov dword [esp + 0xa4], esp
push edx
mov byte [esp + 0x12c], 0xf
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push eax
push esi
mov byte [esp + 0x130], 0xd
push ecx
push ebx
mov ecx, ebp
call fcn.004ccc50
mov eax, dword [esp + 0x1c]
add ebx, 0x1e
add esi, 0x1e
add eax, 0x1e
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
jmp 0x5299b4
lea edx, [esp + 0x34]
push 4
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xc8], 0x10
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x34]
mov byte [esp + 0xc4], 0xd
call sub.MFC42.DLL_CString::CString
push 0xd
lea ecx, [esp + 0x14]
call fcn.00557258
push 0xa
lea ecx, [esp + 0x14]
call fcn.00557258
push 0
push 0
push 0
mov ecx, 0xf
sub esp, 0x3c
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 1
push ecx
mov ecx, esp
mov dword [esp + 0xa0], esp
push 0x5b630c
call fcn.0055734e
push ecx
lea eax, [esp + 0x74]
mov ecx, esp
mov dword [esp + 0x94], esp
push eax
mov byte [esp + 0x12c], 0x11
call sub.MFC42.DLL_CString::CString_2
jmp 0x52997a
call sub.MFC42.DLL_CString::Empty
mov eax, dword [ebp + 0x350]
lea ecx, [esp + 0x10]
mov esi, dword [eax + esi*4]
add esi, 8
push esi
call sub.MFC42.DLL_CString::operator_2
mov esi, dword [esp + 0x10]
mov edi, 0x5b6304
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x5298b2
test al, al
je 0x5298ae
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x5298b2
add esi, 2
add edi, 2
test al, al
jne 0x52988a
xor eax, eax
jmp 0x5298b7
sbb eax, eax
sbb eax, 0xffffffff
push 0
push 0
test eax, eax
push 0
jne 0x52992d
sub esp, 0x3c
mov ecx, 0xf
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0
push ecx
lea eax, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0xa0], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x128], 0x12
mov ecx, esp
mov dword [esp + 0x94], esp
push 0x5c0168
call fcn.0055734e
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
push ecx
push esi
mov byte [esp + 0x130], 0xd
push edx
jmp 0x5297a3
sub esp, 0x3c
mov ecx, 0xf
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0
push ecx
lea eax, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0xa0], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x128], 0x13
mov ecx, esp
mov dword [esp + 0x94], esp
push 0x5c0168
call fcn.0055734e
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
push ecx
push esi
push edx
push ebx
mov ecx, ebp
mov byte [esp + 0x138], 0xd
call fcn.004ccc50
mov ecx, dword [esp + 0x18]
add ebx, 0x42
add ecx, 0x42
add esi, 0x42
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x28]
mov eax, dword [ebp + 0x364]
inc esi
cmp esi, eax
mov dword [esp + 0x28], esi
jl 0x52967c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x360]
add eax, 0xc
mov dword [esp + 0x14], eax
add eax, 6
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
inc eax
inc ecx
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x529656
push 0
push 0
push 0
mov ecx, 0xf
sub esp, 0x3c
lea esi, [esp + 0x8c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0
push ecx
mov ecx, esp
mov dword [esp + 0xa0], esp
push 0x5b62b4
call fcn.0055734e
push ecx
mov byte [esp + 0x128], 0x14
mov ecx, esp
mov dword [esp + 0x94], esp
push 0x5be4bc
call fcn.0055734e
mov eax, dword [ebp + 0x360]
mov edx, dword [0x5c01a4]
mov edi, dword [esp + 0xa0]
mov byte [esp + 0x128], 0xd
lea eax, [eax + eax*2]
shl eax, 2
lea ecx, [eax + edx + 0x76]
add eax, 0x76
push ecx
mov ecx, dword [ebp + 0x364]
mov edx, ecx
shl edx, 5
add edx, ecx
mov ecx, dword [esp + 0x138]
shl edx, 1
sub edx, edi
lea edx, [edx + ecx - 3]
mov ecx, ebp
push edx
push eax
mov eax, dword [esp + 0x9c]
push eax
call fcn.004ccc50
lea ecx, [esp + 0x20]
mov byte [esp + 0xc4], 0xb
call sub.MFC42.DLL_CString::CString
mov dword [esp + 0xc4], 0xffffffff
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebp
mov dword [0x5c02d4], 1
mov dword fs:[0], ecx
pop ebx
add esp, 0xb8
ret 0xc