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

Disassembly:
push 0xffffffffffffffff
push 0x58c728
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x10], ebx
call fcn.0043c030
mov esi, dword [esp + 0x60]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], 0xa
cmp al, 1
jne 0x524365
test eax, 0x10000
je 0x524365
mov eax, dword [ebx + 0x6c]
add eax, 0x28
push eax
push esi
call fcn.0043bff0
add esp, 8
test eax, eax
jne 0x524365
mov eax, dword [ebx + 0x78]
mov edx, dword [eax + 0x5db8]
lea ecx, [eax + 0x5db8]
call dword [edx + 4]
test eax, eax
je 0x524341
mov ecx, dword [eax + 8]
mov edx, dword [esi + 0x64]
cmp ecx, edx
jne 0x524328
mov edx, dword [eax + 0xc]
mov ecx, dword [esi + 0x68]
cmp edx, ecx
je 0x52433d
mov ecx, dword [ebx + 0x78]
push eax
add ecx, 0x5db8
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
jne 0x524314
jmp 0x524341
test eax, eax
jne 0x524365
push 0x10
call sub.MFC42.DLL_operatornew
mov ecx, dword [esi + 0x64]
add esp, 4
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x68]
mov dword [eax + 0xc], edx
mov ecx, dword [ebx + 0x78]
add ecx, 0x5db8
push eax
mov edx, dword [ecx]
call dword [edx]
mov ecx, dword [ebx + 0x78]
add ecx, 0x4ff8
cmp dword [ecx], 0
je 0x524571
push 0
push esi
push 0
call fcn.0049b760
test eax, eax
mov dword [esp + 0x14], eax
je 0x524393
mov eax, dword [eax + 0xd8]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0xb4]
lea edi, [ebx + 0xb4]
test eax, eax
je 0x525419
push 0
push esi
push 0
mov ecx, edi
call fcn.0049b760
mov ebp, eax
test ebp, ebp
je 0x525419
mov ecx, dword [ebp + 0x64]
mov eax, dword [esi + 0x64]
cmp ecx, eax
jne 0x5243d5
mov edx, dword [ebp + 0x68]
mov eax, dword [esi + 0x68]
cmp edx, eax
je 0x52452c
mov eax, dword [edi + 4]
test eax, eax
je 0x524496
mov eax, dword [esp + 0x60]
push 0
push eax
push 1
mov ecx, edi
call fcn.0049b760
mov esi, eax
test esi, esi
je 0x524492
push 1
push esi
mov ecx, ebx
call fcn.00530650
push esi
mov ecx, edi
call fcn.0049b8e0
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_5
mov ecx, dword [esi + 0x64]
lea edx, [esp + 0x18]
push ecx
push 0x5e913c
push edx
mov dword [esp + 0x64], 0
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x24]
add esp, 0xc
lea ecx, [ebx + 0x530]
push eax
call sub.MFC42.DLL_CMapStringToString::RemoveKey
mov eax, dword [esi + 0xdc]
test eax, eax
jne 0x524481
mov dword [esi + 0xdc], 0
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x524478
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
xor eax, eax
mov dword [esi + 0xe0], eax
mov dword [esi + 0xec], eax
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov esi, dword [esp + 0x60]
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_5
mov ecx, dword [ebp + 0x64]
lea edx, [esp + 0x14]
push ecx
push 0x5e913c
push edx
mov dword [esp + 0x64], 1
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x20]
add esp, 0xc
add ebx, 0x530
push eax
mov ecx, ebx
call sub.MFC42.DLL_CMapStringToString::RemoveKey
push ebp
mov ecx, edi
call fcn.0049b8e0
mov ecx, dword [esi + 0x64]
push ebp
mov dword [ebp + 0x64], ecx
mov edx, dword [esi + 0x68]
mov ecx, edi
mov dword [ebp + 0x68], edx
call fcn.0049b7e0
mov eax, dword [ebp + 0x64]
lea ecx, [esp + 0x14]
push eax
push 0x5e913c
push ecx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x20]
add esp, 0xc
lea edx, [ebp + 0x104]
mov ecx, ebx
push edx
push eax
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x14]
mov dword [esp + 0x58], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp + 0xd0]
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
xor ecx, edi
test ecx, 0x600100
jne 0x524b5e
mov esi, ebx
lea eax, [ebp + 0x6c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x52457e
test cl, cl
je 0x52456d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x52457e
add eax, 2
add esi, 2
test cl, cl
jne 0x52454d
xor eax, eax
jmp 0x524583
mov dword [esp + 0x14], 0
jmp 0x524393
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x524b5e
mov esi, dword [esp + 0x6c]
lea eax, [ebp + 0x9e]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x5245b9
test cl, cl
je 0x5245b5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x5245b9
add eax, 2
add esi, 2
test cl, cl
jne 0x524595
xor eax, eax
jmp 0x5245be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x524b5e
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x174]
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
mov ecx, dword [ebp + 0xf8]
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x74]
jl 0x5245f0
mov dword [ebp + 0xf8], eax
mov edx, dword [esp + 0x78]
mov dword [ebp + 0xfc], eax
mov eax, dword [esp + 0x7c]
mov dword [ebp + 0x100], edx
mov esi, 0x5f3788
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x524631
test cl, cl
je 0x52462d
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x524631
add eax, 2
add esi, 2
test cl, cl
jne 0x524609
xor eax, eax
jmp 0x524636
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x52492e
mov edx, dword [ebp + 0x64]
lea eax, [esp + 0x68]
lea ecx, [esp + 0x20]
push eax
push ecx
push 0
push edx
mov dword [esp + 0x78], 6
call sub.iphlpapi.dll_SendARP
test eax, eax
jne 0x5246db
xor ebx, ebx
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::CString_5
xor eax, eax
lea ecx, [esp + 0x60]
mov al, byte [esp + ebx + 0x20]
mov dword [esp + 0x58], 0x13
push eax
push str._.2x
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::MakeUpper
mov edi, dword [esp + 0x60]
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x58], 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x7c]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::CString
inc ebx
cmp ebx, 6
jl 0x524661
jmp 0x52492e
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::CString_5
mov edi, dword [esp + 0x10]
mov dword [esp + 0x58], 0x14
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x524727
mov esi, dword [ebp + 0x64]
xor edx, edx
mov eax, esi
shr eax, 4
div dword [ecx + 0x5f00]
mov ecx, dword [ecx + 0x5efc]
test ecx, ecx
je 0x524727
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x524727
cmp dword [eax + 8], esi
je 0x5247ba
mov eax, dword [eax]
test eax, eax
jne 0x524718
mov eax, dword [ebp + 0x64]
lea ecx, [esp + 0x68]
lea edx, [esp + 0x20]
push ecx
push edx
push 0
push eax
call sub.iphlpapi.dll_SendARP
test eax, eax
jne 0x524859
xor ebx, ebx
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::CString_5
xor ecx, ecx
lea edx, [esp + 0x60]
mov cl, byte [esp + ebx + 0x20]
mov byte [esp + 0x58], 0x17
push ecx
push str._.2x
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::MakeUpper
mov edi, dword [esp + 0x60]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x58], 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x7c]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::CString
inc ebx
cmp ebx, 6
jl 0x524746
jmp 0x52491d
test eax, eax
je 0x524727
add eax, 0xc
lea ecx, [esp + 0x6c]
push eax
call fcn.00572d3c
mov eax, dword [edi + 0x78]
test eax, eax
je 0x5247dd
add eax, 0x55bc
jmp 0x5247e2
mov eax, 0x5e084c
push ecx
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call sub.MFC42.DLL_CString::CString_3
push ecx
lea eax, [ebp + 0x32]
mov ecx, esp
mov dword [esp + 0x80], esp
push eax
mov byte [esp + 0x64], 0x15
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x64], 0x16
mov ecx, esp
mov dword [esp + 0x7c], esp
push ebp
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [ebp + 0x64]
lea edx, [esp + 0x6c]
push ecx
push edx
mov byte [esp + 0x6c], 0x14
call fcn.00443ec0
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x7c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x60]
jmp 0x524918
mov ebx, dword [esp + 0x7c]
mov esi, 0x5f3788
mov eax, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x524888
test cl, cl
je 0x524884
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x524888
add eax, 2
add esi, 2
test cl, cl
jne 0x524864
xor eax, eax
jmp 0x52488d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x52491d
mov eax, dword [edi + 0x78]
test eax, eax
je 0x5248a3
add eax, 0x55bc
jmp 0x5248a8
mov eax, 0x5e084c
push ecx
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call sub.MFC42.DLL_CString::CString_3
push ecx
lea eax, [ebp + 0x32]
mov ecx, esp
mov dword [esp + 0x80], esp
push eax
mov byte [esp + 0x64], 0x18
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x64], 0x19
mov ecx, esp
mov dword [esp + 0x7c], esp
push ebp
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [ebp + 0x64]
lea edx, [esp + 0x6c]
push ecx
push edx
mov byte [esp + 0x6c], 0x14
call fcn.00443ec0
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x6c]
mov dword [esp + 0x58], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x7c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x104]
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 eax, dword [esp + 0x80]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x524986
cmp dword [ebp + 0x114], eax
je 0x524a8d
mov esi, dword [esp + 0x10]
push 0
push 0
push 0
mov ecx, dword [esi + 0x6c]
push 0x7b
push ebp
call fcn.0049c490
jmp 0x524a91
cmp dword [ebp + 0xf8], 0x54
jl 0x52499b
mov ecx, dword [ebp + 0xfc]
mov dword [ebp + 0xf8], ecx
mov eax, dword [ebp + 0x114]
test eax, eax
je 0x524a8d
mov esi, dword [esp + 0x10]
mov dword [ebp + 0x114], 0
mov edx, dword [esi + 0x78]
mov eax, dword [edx + 0x4d34]
test eax, eax
jne 0x524a3f
mov eax, dword [esi + 0xa7c]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
xor edi, edi
push edi
push edi
push 0x1004
push eax
call ebx
test eax, eax
jle 0x524a53
push edi
lea ecx, [esi + 0xa5c]
call sub.MFC42.DLL_CListCtrl::GetItemData
cmp eax, ebp
je 0x524a09
mov ecx, dword [esi + 0xa7c]
push 0
push 0
push 0x1004
push ecx
inc edi
call ebx
cmp edi, eax
jl 0x5249e0
jmp 0x524a53
mov edx, dword [ebp + 0xf8]
mov ecx, dword [esi + 0xa7c]
lea eax, [esp + 0x28]
inc edx
push eax
push 0
push 0x1006
push ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], 2
mov dword [esp + 0x54], edx
call ebx
jmp 0x524a53
mov edx, dword [ebp + 0xf8]
lea ecx, [esi + 0x618]
inc edx
push edx
push ebp
call fcn.004b2040
mov ecx, dword [esi + 0x94]
mov eax, dword [ecx]
call dword [eax + 4]
test eax, eax
je 0x524a91
lea edi, [eax - 0x60]
test edi, edi
je 0x524a91
push ebp
mov ecx, edi
call fcn.00430180
mov ecx, dword [esi + 0x94]
add edi, 0x60
push edi
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x524a91
lea edi, [eax - 0x60]
test edi, edi
jne 0x524a69
jmp 0x524a91
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x84]
test eax, eax
je 0x524ab7
cmp dword [ebp + 0x118], eax
je 0x524b03
mov ecx, dword [esi + 0x6c]
push 0
push 0
push 0
push 0x7d
push ebp
call fcn.0049c490
jmp 0x524b03
mov eax, dword [ebp + 0x118]
test eax, eax
je 0x524b03
mov dword [ebp + 0x118], 0
mov ecx, dword [esi + 0x94]
mov eax, dword [ecx]
call dword [eax + 4]
test eax, eax
je 0x524b03
lea edi, [eax - 0x60]
test edi, edi
je 0x524b03
push ebp
mov ecx, edi
call fcn.00430180
mov ecx, dword [esi + 0x94]
add edi, 0x60
push edi
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x524b03
lea edi, [eax - 0x60]
test edi, edi
jne 0x524ae1
mov eax, dword [esp + 0x64]
and al, 0
mov dword [ebp + 0xd0], eax
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0xd4], eax
mov ecx, dword [esi + 0x94]
mov edx, dword [ecx]
call dword [edx + 4]
test eax, eax
je 0x524b51
lea edi, [eax - 0x60]
test edi, edi
je 0x524b51
push ebp
mov ecx, edi
call fcn.004233a0
mov ecx, dword [esi + 0x94]
add edi, 0x60
push edi
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x524b51
lea edi, [eax - 0x60]
test edi, edi
jne 0x524b2f
push ebp
mov ecx, esi
call fcn.00534300
jmp 0x525f37
push 0x5f3788
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x58], 2
test eax, eax
je 0x524b8f
push eax
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::TrimRight
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
and edi, 0xffffff00
mov ecx, 0x1b
mov dword [ebp + 0xd0], edi
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 0x6c]
push 0x32
push ebx
push eax
mov dword [ebp + 0xd4], ecx
mov dword [ebp + 0xd8], edx
call fcn.0043bab0
push 0x32
lea eax, [ebp + 0x552]
push ebx
push eax
call fcn.0043bab0
mov ecx, dword [esp + 0x2c]
push 0x32
lea edx, [ebp + 0x9e]
push ecx
push edx
call fcn.0043bab0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
mov dword [ebp + 0xf4], eax
mov eax, dword [esp + 0x98]
mov dword [ebp + 0x100], ecx
mov dword [ebp + 0xf8], eax
mov dword [ebp + 0xfc], eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x24
lea edx, [ebp + 0x104]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x84]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x88]
mov dword [ebp + 0x114], ecx
or ecx, 0xffffffff
mov dword [ebp + 0x118], edx
lea edx, [ebp + 0x584]
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
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0xf4]
test eax, eax
jne 0x524fa0
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea ebx, [ebp + 0x104]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x6c]
mov edx, ecx
mov esi, edi
mov edi, ebx
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x70], 6
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp + 0x64]
lea ecx, [esp + 0x24]
push ecx
push 0
push edx
call sub.iphlpapi.dll_SendARP
test eax, eax
jne 0x524d57
xor ebx, ebx
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_5
xor eax, eax
lea ecx, [esp + 0x7c]
mov al, byte [esp + ebx + 0x20]
mov byte [esp + 0x58], 3
push eax
push str._.2x
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::MakeUpper
mov edi, dword [esp + 0x7c]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x58], 2
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x104]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString
inc ebx
cmp ebx, 6
jl 0x524ce1
jmp 0x524eca
lea ecx, [esp + 0x74]
call sub.MFC42.DLL_CString::CString_5
mov esi, dword [esp + 0x10]
mov byte [esp + 0x58], 4
mov eax, dword [esi + 0x78]
test eax, eax
je 0x524e30
mov edx, dword [ebp + 0x64]
lea ecx, [eax + 0x5ef8]
lea eax, [esp + 0x7c]
push eax
push edx
call fcn.004bc5e0
test eax, eax
je 0x524e30
add eax, 0xc
lea ecx, [esp + 0x74]
push eax
call fcn.00572d3c
mov eax, dword [esi + 0x78]
test eax, eax
je 0x524dab
add eax, 0x55bc
jmp 0x524db0
mov eax, 0x5e084c
push ecx
mov ecx, esp
mov dword [esp + 0x7c], esp
push eax
call sub.MFC42.DLL_CString::CString_3
push ecx
lea edx, [ebp + 0x32]
mov ecx, esp
mov dword [esp + 0x88], esp
push edx
mov byte [esp + 0x64], 5
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x64], 6
mov ecx, esp
mov dword [esp + 0x90], esp
push ebp
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp + 0x64]
lea ecx, [esp + 0x88]
push eax
push ecx
mov byte [esp + 0x6c], 4
call fcn.00443ec0
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString
jmp 0x524ebc
mov edx, dword [ebp + 0x64]
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x20]
push eax
push ecx
push 0
push edx
call sub.iphlpapi.dll_SendARP
test eax, eax
jne 0x524ebc
xor ebx, ebx
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_5
xor eax, eax
lea ecx, [esp + 0x7c]
mov al, byte [esp + ebx + 0x20]
mov byte [esp + 0x58], 7
push eax
push str._.2x
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::MakeUpper
mov edi, dword [esp + 0x7c]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x58], 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x104]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString
inc ebx
cmp ebx, 6
jl 0x524e4b
lea ecx, [esp + 0x74]
mov byte [esp + 0x58], 2
call sub.MFC42.DLL_CString::CString
mov esi, 0x5f3788
lea eax, [ebp + 0x104]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x524efd
test cl, cl
je 0x524ef9
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x524efd
add eax, 2
add esi, 2
test cl, cl
jne 0x524ed5
xor eax, eax
jmp 0x524f02
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x524fa0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x524f1c
add eax, 0x55bc
jmp 0x524f21
mov eax, 0x5e084c
push ecx
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call sub.MFC42.DLL_CString::CString_3
push ecx
lea edx, [ebp + 0x32]
mov ecx, esp
mov dword [esp + 0x80], esp
push edx
mov byte [esp + 0x64], 8
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x64], 9
mov ecx, esp
mov dword [esp + 0x8c], esp
push ebp
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp + 0x64]
lea ecx, [esp + 0x88]
push eax
push ecx
mov byte [esp + 0x6c], 2
call fcn.00443ec0
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + 0x104]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x52508e
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x52508e
mov eax, dword [eax + 0x8c]
mov ecx, dword [ebp + 0x64]
cmp eax, ecx
jne 0x52508e
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::CString_5
lea ecx, [esp + 0x6c]
lea eax, [ebp + 0x104]
push ecx
mov ecx, dword [ebx + 0x78]
push eax
add ecx, 0x5e28
mov byte [esp + 0x60], 0xa
call sub.MFC42.DLL_CMapStringToString::Lookup
test eax, eax
jne 0x525080
mov eax, dword [ebx + 0x78]
xor esi, esi
mov ecx, dword [eax + 0x5e00]
test ecx, ecx
jle 0x525080
xor edi, edi
mov edx, dword [eax + 0x5dfc]
lea ecx, [esp + 0x7c]
add edx, edi
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x7c]
push 0x5e0b48
push eax
mov byte [esp + 0x60], 0xb
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x52505c
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0xa
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebx + 0x78]
inc esi
add edi, 0x1c0
cmp esi, dword [eax + 0x5e00]
jl 0x52500c
jmp 0x525080
push 0x32
lea ecx, [ebp + 0x520]
push 0x5e0b48
push ecx
call fcn.0043bab0
add esp, 0xc
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x6c]
mov byte [esp + 0x58], 2
call sub.MFC42.DLL_CString::CString
mov esi, 0x5f3788
lea eax, [ebp + 0x104]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x5250bd
test cl, cl
je 0x5250b9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x5250bd
add eax, 2
add esi, 2
test cl, cl
jne 0x525099
xor eax, eax
jmp 0x5250c2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5253ab
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x5253ab
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::CString_5
mov ecx, dword [ebx + 0x78]
lea eax, [esp + 0x6c]
push eax
lea eax, [ebp + 0x104]
push eax
add ecx, 0x5e44
mov byte [esp + 0x60], 0xc
call sub.MFC42.DLL_CMapStringToString::Lookup
test eax, eax
je 0x525206
mov ecx, dword [esp + 0x68]
push ecx
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::CString_3
push 0x5f3788
lea ecx, [esp + 0x80]
mov byte [esp + 0x5c], 0xd
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x64]
mov byte [esp + 0x58], 0xe
test ah, 1
je 0x52517e
push 0x5b
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::ReverseFind
test eax, eax
jle 0x52517e
mov edx, dword [esp + 0x68]
mov ecx, dword [edx - 8]
sub ecx, eax
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x70]
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0x5c], 0xf
call fcn.00572d3c
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], 0xe
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x6c]
push 0x32
lea eax, [ebp + 0x6c]
push ecx
push eax
call fcn.0043bab0
mov edx, dword [esp + 0x88]
push 0x5f3788
push edx
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 0x14
test eax, eax
je 0x5251ea
mov edi, dword [esp + 0x6c]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x7c]
repne scasb al, byte es:[edi]
mov esi, dword [edx - 8]
not ecx
dec ecx
add ecx, esi
cmp ecx, 0x32
jae 0x5251ea
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x6c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0xd
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x68]
mov byte [esp + 0x58], 0xc
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x74]
call sub.MFC42.DLL_CString::CString_5
mov ecx, dword [ebx + 0x78]
lea eax, [esp + 0x74]
push eax
lea eax, [ebp + 0x104]
push eax
add ecx, 0x5e28
mov byte [esp + 0x60], 0x10
call sub.MFC42.DLL_CMapStringToString::Lookup
test eax, eax
je 0x52524d
mov ecx, dword [esp + 0x74]
push 0x32
lea edx, [ebp + 0x520]
push ecx
push edx
call fcn.0043bab0
add esp, 0xc
jmp 0x52538f
mov eax, dword [ebx + 0x78]
mov eax, dword [eax + 0x5ee8]
neg eax
sbb eax, eax
test eax, eax
mov dword [esp + 0x78], eax
je 0x52538f
lea ecx, [esp + 0x64]
call sub.MFC42.DLL_CString::CString_5
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0x11
call sub.MFC42.DLL_CString::CString_5
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x64]
push ecx
mov ecx, dword [ebx + 0x78]
lea eax, [esp + 0x7c]
push edx
push eax
add ecx, 0x5edc
mov byte [esp + 0x64], 0x12
call sub.MFC42.DLL_CMapStringToString::GetNextAssoc
mov ecx, dword [esp + 0x7c]
push ecx
call dword [sym.imp.MSVCRT.dll_atoi]
mov esi, eax
add esp, 4
test esi, esi
jle 0x525320
mov eax, dword [ebx + 0x78]
cmp esi, dword [eax + 0x5e00]
jge 0x525320
mov eax, dword [eax + 0x5dfc]
lea edx, [esi*8]
sub edx, esi
shl edx, 6
lea ecx, [eax + edx]
mov eax, dword [eax + edx + 0x1b8]
test eax, eax
je 0x525320
mov ecx, dword [ecx + 0x1bc]
test ecx, ecx
je 0x525320
cmp eax, ecx
mov dword [esp + 0x68], eax
jb 0x5252f4
mov dword [esp + 0x68], ecx
cmp eax, ecx
mov edi, eax
ja 0x5252fc
mov edi, ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x64]
push edx
call sub.WSOCK32.dll_htonl
cmp eax, dword [esp + 0x68]
jb 0x525320
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x64]
push ecx
call sub.WSOCK32.dll_htonl
cmp eax, edi
jbe 0x52534a
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0x11
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], 0x10
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x525266
jmp 0x52538f
mov edx, dword [ebx + 0x78]
lea eax, [esi*8]
sub eax, esi
push 0x32
mov ecx, dword [edx + 0x5dfc]
lea edx, [ebp + 0x520]
shl eax, 6
add ecx, eax
push ecx
push edx
call fcn.0043bab0
add esp, 0xc
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0x11
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], 0x10
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x74]
mov byte [esp + 0x58], 0xc
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x6c]
mov byte [esp + 0x58], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x58], 0xffffffff
call sub.MFC42.DLL_CString::CString
push 0
push ebp
mov ecx, ebx
call fcn.00530650
push 1
push 1
push 0
push ebp
mov ecx, ebx
call fcn.0052f720
mov ecx, dword [ebx + 0x94]
mov eax, dword [ecx]
call dword [eax + 4]
test eax, eax
je 0x52540c
lea esi, [eax - 0x60]
test esi, esi
je 0x52540c
push ebp
mov ecx, esi
call fcn.004233a0
mov ecx, dword [ebx + 0x94]
add esi, 0x60
push esi
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x52540c
lea esi, [eax - 0x60]
test esi, esi
jne 0x5253ea
push ebp
mov ecx, ebx
call fcn.00534300
jmp 0x525f37
mov eax, dword [edi + 4]
test eax, eax
je 0x5254d2
mov eax, dword [esp + 0x60]
push 0
push eax
push 1
mov ecx, edi
call fcn.0049b760
mov esi, eax
test esi, esi
je 0x5254d2
push 1
push esi
mov ecx, ebx
call fcn.00530650
push esi
mov ecx, edi
call fcn.0049b8e0
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_5
mov ecx, dword [esi + 0x64]
lea edx, [esp + 0x18]
push ecx
push 0x5e913c
push edx
mov dword [esp + 0x64], 0x1a
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x24]
add esp, 0xc
lea ecx, [ebx + 0x530]
push eax
call sub.MFC42.DLL_CMapStringToString::RemoveKey
mov eax, dword [esi + 0xdc]
xor edi, edi
cmp eax, edi
jne 0x5254c1
mov dword [esi + 0xdc], edi
mov eax, dword [esi + 0xe0]
cmp eax, edi
je 0x5254b8
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esi + 0xe0], edi
mov dword [esi + 0xec], edi
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ebp, dword [esp + 0x14]
test ebp, ebp
jne 0x525656
push 0x58c
call sub.MFC42.DLL_operatornew
mov edx, eax
add esp, 4
test edx, edx
je 0x52564a
or ecx, 0xffffffff
mov edi, 0x5f3788
xor eax, eax
lea ebp, [edx + 0x32]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x5f3788
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
xor ebp, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [edx + 0x64], ebp
mov dword [edx + 0x68], ebp
mov dword [edx + 0xe0], ebp
mov dword [edx + 0xec], ebp
mov edi, 0x5f3788
or ecx, 0xffffffff
mov dword [edx + 0xdc], ebp
mov dword [edx + 0x11c], ebp
repne scasb al, byte es:[edi]
not ecx
lea esi, [edx + 0x120]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x18], esi
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
mov dword [edx + 0x100], ebp
lea esi, [edx + 0x104]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5e0b58
or ecx, 0xffffffff
mov dword [edx + 0x114], ebp
mov dword [edx + 0x118], ebp
mov dword [edx + 0xfc], ebp
lea ebp, [edx + 0x520]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
lea ebp, [edx + 0x552]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
lea ebp, [edx + 0x584]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x52564c
xor edx, edx
test edx, edx
mov ebp, edx
je 0x525ec0
push 0x5f3788
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x58], 0x1b
test eax, eax
je 0x525687
push eax
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::TrimRight
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x20]
and cl, 0
mov edx, dword [esp + 0x1c]
mov dword [ebp + 0xd0], ecx
mov ecx, 0x1b
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x68]
mov dword [ebp + 0xd8], eax
lea eax, [ebp + 0x6c]
push 0x32
push esi
push eax
mov dword [ebp + 0xd4], edx
call fcn.0043bab0
push 0x32
lea ecx, [ebp + 0x552]
push esi
push ecx
call fcn.0043bab0
mov edx, dword [esp + 0x2c]
push 0x32
lea eax, [ebp + 0x9e]
push edx
push eax
call fcn.0043bab0
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
mov dword [ebp + 0xf4], ecx
mov dword [ebp + 0xf8], eax
mov dword [ebp + 0xfc], eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x24
mov dword [ebp + 0x100], edx
lea edx, [ebp + 0x104]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x84]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x88]
mov dword [ebp + 0x114], ecx
or ecx, 0xffffffff
mov dword [ebp + 0x118], edx
lea edx, [ebp + 0x584]
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
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0xf4]
test eax, eax
jne 0x525a9d
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea ebx, [ebp + 0x104]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x6c]
mov edx, ecx
mov esi, edi
mov edi, ebx
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x70], 6
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp + 0x64]
lea ecx, [esp + 0x24]
push ecx
push 0
push edx
call sub.iphlpapi.dll_SendARP
test eax, eax
jne 0x525854
xor ebx, ebx
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_5
xor eax, eax
lea ecx, [esp + 0x7c]
mov al, byte [esp + ebx + 0x20]
mov byte [esp + 0x58], 0x1c
push eax
push str._.2x
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::MakeUpper
mov edi, dword [esp + 0x7c]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x58], 0x1b
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x104]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString
inc ebx
cmp ebx, 6
jl 0x5257de
jmp 0x5259c7
lea ecx, [esp + 0x74]
call sub.MFC42.DLL_CString::CString_5
mov esi, dword [esp + 0x10]
mov byte [esp + 0x58], 0x1d
mov eax, dword [esi + 0x78]
test eax, eax
je 0x52592d
mov edx, dword [ebp + 0x64]
lea ecx, [eax + 0x5ef8]
lea eax, [esp + 0x7c]
push eax
push edx
call fcn.004bc5e0
test eax, eax
je 0x52592d
add eax, 0xc
lea ecx, [esp + 0x74]
push eax
call fcn.00572d3c
mov eax, dword [esi + 0x78]
test eax, eax
je 0x5258a8
add eax, 0x55bc
jmp 0x5258ad
mov eax, 0x5e084c
push ecx
mov ecx, esp
mov dword [esp + 0x7c], esp
push eax
call sub.MFC42.DLL_CString::CString_3
push ecx
lea edx, [ebp + 0x32]
mov ecx, esp
mov dword [esp + 0x88], esp
push edx
mov byte [esp + 0x64], 0x1e
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x64], 0x1f
mov ecx, esp
mov dword [esp + 0x90], esp
push ebp
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp + 0x64]
lea ecx, [esp + 0x88]
push eax
push ecx
mov byte [esp + 0x6c], 0x1d
call fcn.00443ec0
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString
jmp 0x5259b9
mov edx, dword [ebp + 0x64]
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x20]
push eax
push ecx
push 0
push edx
call sub.iphlpapi.dll_SendARP
test eax, eax
jne 0x5259b9
xor ebx, ebx
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_5
xor eax, eax
lea ecx, [esp + 0x7c]
mov al, byte [esp + ebx + 0x20]
mov byte [esp + 0x58], 0x20
push eax
push str._.2x
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::MakeUpper
mov edi, dword [esp + 0x7c]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x58], 0x1d
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x104]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString
inc ebx
cmp ebx, 6
jl 0x525948
lea ecx, [esp + 0x74]
mov byte [esp + 0x58], 0x1b
call sub.MFC42.DLL_CString::CString
mov esi, 0x5f3788
lea eax, [ebp + 0x104]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x5259fa
test cl, cl
je 0x5259f6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x5259fa
add eax, 2
add esi, 2
test cl, cl
jne 0x5259d2
xor eax, eax
jmp 0x5259ff
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x525a9d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x525a19
add eax, 0x55bc
jmp 0x525a1e
mov eax, 0x5e084c
push ecx
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call sub.MFC42.DLL_CString::CString_3
push ecx
lea edx, [ebp + 0x32]
mov ecx, esp
mov dword [esp + 0x80], esp
push edx
mov byte [esp + 0x64], 0x21
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x64], 0x22
mov ecx, esp
mov dword [esp + 0x8c], esp
push ebp
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp + 0x64]
lea ecx, [esp + 0x88]
push eax
push ecx
mov byte [esp + 0x6c], 0x1b
call fcn.00443ec0
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + 0x104]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x525b8b
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x525b8b
mov eax, dword [eax + 0x8c]
mov ecx, dword [ebp + 0x64]
cmp eax, ecx
jne 0x525b8b
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::CString_5
lea ecx, [esp + 0x6c]
lea eax, [ebp + 0x104]
push ecx
mov ecx, dword [ebx + 0x78]
push eax
add ecx, 0x5e28
mov byte [esp + 0x60], 0x23
call sub.MFC42.DLL_CMapStringToString::Lookup
test eax, eax
jne 0x525b7d
mov eax, dword [ebx + 0x78]
xor esi, esi
mov ecx, dword [eax + 0x5e00]
test ecx, ecx
jle 0x525b7d
xor edi, edi
mov edx, dword [eax + 0x5dfc]
lea ecx, [esp + 0x7c]
add edx, edi
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x7c]
push 0x5e0b48
push eax
mov byte [esp + 0x60], 0x24
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x525b59
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0x23
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebx + 0x78]
inc esi
add edi, 0x1c0
cmp esi, dword [eax + 0x5e00]
jl 0x525b09
jmp 0x525b7d
push 0x32
lea ecx, [ebp + 0x520]
push 0x5e0b48
push ecx
call fcn.0043bab0
add esp, 0xc
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0x23
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x6c]
mov byte [esp + 0x58], 0x1b
call sub.MFC42.DLL_CString::CString
mov esi, 0x5f3788
lea eax, [ebp + 0x104]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x525bba
test cl, cl
je 0x525bb6
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x525bba
add eax, 2
add esi, 2
test cl, cl
jne 0x525b96
xor eax, eax
jmp 0x525bbf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x525eab
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x525eab
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::CString_5
mov ecx, dword [ebx + 0x78]
lea eax, [esp + 0x6c]
push eax
lea eax, [ebp + 0x104]
push eax
add ecx, 0x5e44
mov byte [esp + 0x60], 0x25
call sub.MFC42.DLL_CMapStringToString::Lookup
test eax, eax
je 0x525d06
mov ecx, dword [esp + 0x68]
push ecx
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::CString_3
push 0x5f3788
lea ecx, [esp + 0x80]
mov byte [esp + 0x5c], 0x26
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x64]
mov bl, 0x27
test ah, 1
mov byte [esp + 0x58], bl
je 0x525c7b
push 0x5b
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::ReverseFind
test eax, eax
jle 0x525c7b
mov edx, dword [esp + 0x68]
mov ecx, dword [edx - 8]
sub ecx, eax
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x70]
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0x5c], 0x28
call fcn.00572d3c
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], bl
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x6c]
push 0x32
lea ebx, [ebp + 0x6c]
push ecx
push ebx
call fcn.0043bab0
mov edx, dword [esp + 0x88]
push 0x5f3788
push edx
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 0x14
test eax, eax
je 0x525ce6
mov edi, dword [esp + 0x6c]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x7c]
repne scasb al, byte es:[edi]
mov esi, dword [edx - 8]
not ecx
dec ecx
add ecx, esi
cmp ecx, 0x32
jae 0x525ce6
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0x26
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x68]
mov byte [esp + 0x58], 0x25
call sub.MFC42.DLL_CString::CString
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x74]
call sub.MFC42.DLL_CString::CString_5
mov ecx, dword [ebx + 0x78]
lea eax, [esp + 0x74]
push eax
lea eax, [ebp + 0x104]
push eax
add ecx, 0x5e28
mov byte [esp + 0x60], 0x29
call sub.MFC42.DLL_CMapStringToString::Lookup
test eax, eax
je 0x525d4d
mov ecx, dword [esp + 0x74]
push 0x32
lea edx, [ebp + 0x520]
push ecx
push edx
call fcn.0043bab0
add esp, 0xc
jmp 0x525e8f
mov eax, dword [ebx + 0x78]
mov eax, dword [eax + 0x5ee8]
neg eax
sbb eax, eax
test eax, eax
mov dword [esp + 0x78], eax
je 0x525e8f
lea ecx, [esp + 0x64]
call sub.MFC42.DLL_CString::CString_5
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0x2a
call sub.MFC42.DLL_CString::CString_5
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x64]
push ecx
mov ecx, dword [ebx + 0x78]
lea eax, [esp + 0x7c]
push edx
push eax
add ecx, 0x5edc
mov byte [esp + 0x64], 0x2b
call sub.MFC42.DLL_CMapStringToString::GetNextAssoc
mov ecx, dword [esp + 0x7c]
push ecx
call dword [sym.imp.MSVCRT.dll_atoi]
mov esi, eax
add esp, 4
test esi, esi
jle 0x525e20
mov eax, dword [ebx + 0x78]
cmp esi, dword [eax + 0x5e00]
jge 0x525e20
mov eax, dword [eax + 0x5dfc]
lea edx, [esi*8]
sub edx, esi
shl edx, 6
lea ecx, [edx + eax]
mov eax, dword [edx + eax + 0x1b8]
test eax, eax
je 0x525e20
mov ecx, dword [ecx + 0x1bc]
test ecx, ecx
je 0x525e20
cmp eax, ecx
mov dword [esp + 0x68], eax
jb 0x525df4
mov dword [esp + 0x68], ecx
cmp eax, ecx
mov edi, eax
ja 0x525dfc
mov edi, ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x64]
push edx
call sub.WSOCK32.dll_htonl
cmp eax, dword [esp + 0x68]
jb 0x525e20
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x64]
push ecx
call sub.WSOCK32.dll_htonl
cmp eax, edi
jbe 0x525e4a
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0x2a
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], 0x29
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x525d66
jmp 0x525e8f
mov edx, dword [ebx + 0x78]
lea eax, [esi*8]
sub eax, esi
push 0x32
mov ecx, dword [edx + 0x5dfc]
lea edx, [ebp + 0x520]
shl eax, 6
add ecx, eax
push ecx
push edx
call fcn.0043bab0
add esp, 0xc
lea ecx, [esp + 0x7c]
mov byte [esp + 0x58], 0x2a
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], 0x29
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x74]
mov byte [esp + 0x58], 0x25
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x6c]
mov byte [esp + 0x58], 0x1b
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x58], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ebx, dword [esp + 0x10]
push ebp
lea ecx, [ebx + 0xb4]
call fcn.0049b7e0
test eax, eax
je 0x525f37
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_5
mov eax, dword [ebp + 0x64]
lea ecx, [esp + 0x7c]
push eax
push 0x5e913c
push ecx
mov dword [esp + 0x64], 0x2c
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x88]
add esp, 0xc
lea edx, [ebp + 0x104]
lea ecx, [ebx + 0x530]
push edx
push eax
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
push 1
push 1
push 1
push ebp
mov ecx, ebx
call fcn.0052f720
lea ecx, [esp + 0x7c]
mov dword [esp + 0x58], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x50]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x4c
ret 0x2c