Function at 0x416630
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x41c11f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push esi
mov esi, dword [esp + 0x30]
push 0x428d50
mov dword [esp + 0x1c], 0
lea ecx, [esi + 0xfc]
call sub.MFC42.DLL_CString::operator_1
mov al, byte [0x428de5]
xor dl, dl
and al, 0xf
mov byte [esi + 0xf4], al
mov ecx, dword [0x428dda]
mov dword [esi + 0x104], ecx
mov bl, byte [0x428de6]
cmp dl, bl
sbb eax, eax
neg eax
mov dword [esi + 0x108], eax
mov cl, byte [0x428de5]
mov byte [0x428de6], cl
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x30]
mov dword [esp + 0x28], 0
call sub.MFC42.DLL_CString::CString_2
mov bl, byte [0x428dd4]
mov edx, dword [0x42905c]
xor eax, eax
push edx
test bl, bl
setne al
add eax, 0xae6
lea ecx, [esp + 0x10]
push eax
push ecx
mov byte [esp + 0x34], 1
call fcn.0040f220
add esp, 0xc
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], 2
call sub.MFC42.DLL_CString::CString_2
xor eax, eax
mov byte [esp + 0x28], 3
mov al, byte [0x428dd5]
dec eax
cmp eax, 0x38
ja case.0x41671a.9
xor edx, edx
mov dl, byte [eax + 0x416df0]
jmp dword [edx*4 + 0x416dcc]
mov cx, word [0x428dde]
lea eax, [esp + 0x14]
push eax
push 0x11
push ecx
call fcn.00410600
add esp, 4
push eax
call fcn.0040f290
mov ax, word [0x428de0]
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push 0x11
push eax
call fcn.00410600
add esp, 4
push eax
call fcn.0040f290
mov ecx, dword [0x42905c]
lea edx, [esp + 0x3c]
push ecx
push 0xae2
push edx
call fcn.0040f220
add esp, 0x18
lea ecx, [esp + 0x30]
push str._d._d._d._d:_s
push str._d._d._d._d:_d
call sub.MFC42.DLL_CString::Replace_1
mov eax, dword [esp + 0x10]
mov edx, dword [0x428ddc]
xor ecx, ecx
push eax
mov cl, byte [0x428ddd]
xor eax, eax
mov al, byte [0x428ddb]
and edx, 0xff
push ecx
push edx
mov edx, dword [esp + 0x20]
xor ecx, ecx
mov cl, byte [0x428dda]
push eax
xor eax, eax
push ecx
mov al, byte [0x428dd9]
mov ecx, dword [0x428dd8]
push edx
push eax
xor edx, edx
and ecx, 0xff
mov dl, byte [0x428dd7]
xor eax, eax
mov al, byte [0x428dd6]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x54]
push eax
push ecx
add esi, 0xf8
push edx
push esi
call sub.MFC42.DLL_CString::Format
add esp, 0x34
jmp 0x416d7c
mov cx, word [0x428dde]
lea eax, [esp + 0x14]
push eax
push 6
push ecx
call fcn.00410600
add esp, 4
push eax
call fcn.0040f290
mov ax, word [0x428de0]
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push 6
push eax
call fcn.00410600
add esp, 4
push eax
call fcn.0040f290
add esp, 0xc
lea ecx, [esp + 8]
push 0x425c0c
call fcn.0041aa22
mov bl, byte [0x428de2]
mov byte [esp + 0x28], 4
test bl, 1
je 0x41687a
mov ecx, dword [esp + 8]
mov eax, dword [ecx - 8]
test eax, eax
mov eax, 0x424f88
je 0x416870
mov eax, str.FIN
push eax
lea ecx, [esp + 0xc]
call fcn.0041aa46
test bl, 2
je 0x41689e
mov edx, dword [esp + 8]
mov eax, dword [edx - 8]
test eax, eax
mov eax, 0x424f7c
je 0x416894
mov eax, str.SYN
push eax
lea ecx, [esp + 0xc]
call fcn.0041aa46
test bl, 4
je 0x4168c2
mov eax, dword [esp + 8]
mov ecx, dword [eax - 8]
mov eax, 0x424f70
test ecx, ecx
je 0x4168b8
mov eax, str.RST
push eax
lea ecx, [esp + 0xc]
call fcn.0041aa46
test bl, 8
je 0x4168e6
mov ecx, dword [esp + 8]
mov eax, dword [ecx - 8]
test eax, eax
mov eax, 0x424f64
je 0x4168dc
mov eax, str.PSH
push eax
lea ecx, [esp + 0xc]
call fcn.0041aa46
test bl, 0x10
je 0x41690a
mov edx, dword [esp + 8]
mov eax, dword [edx - 8]
test eax, eax
mov eax, 0x424f58
je 0x416900
mov eax, str.ACK
push eax
lea ecx, [esp + 0xc]
call fcn.0041aa46
test bl, 0x20
je 0x41692e
mov eax, dword [esp + 8]
mov ecx, dword [eax - 8]
mov eax, 0x424f4c
test ecx, ecx
je 0x416924
mov eax, str.URG
push eax
lea ecx, [esp + 0xc]
call fcn.0041aa46
mov ecx, dword [0x42905c]
lea edx, [esp + 0x30]
push ecx
push 0xae3
push edx
call fcn.0040f220
add esp, 0xc
lea ecx, [esp + 0x30]
push str._d._d._d._d:_s
push str._d._d._d._d:_d
call sub.MFC42.DLL_CString::Replace_1
mov eax, dword [esp + 8]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x416982
push str.Empty
lea ecx, [esp + 0x20]
call fcn.0041aa22
mov dword [esp + 0x18], 1
mov eax, dword [eax]
mov byte [esp + 0x28], 5
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dl, byte [0x428ddd]
push ecx
mov ecx, dword [0x428ddc]
push edx
and ecx, 0xff
xor edx, edx
mov dl, byte [0x428ddb]
push ecx
xor ecx, ecx
push edx
mov cl, byte [0x428dda]
mov edx, dword [esp + 0x24]
push ecx
push edx
mov edx, dword [0x428dd8]
xor ecx, ecx
mov cl, byte [0x428dd9]
and edx, 0xff
push ecx
push edx
xor ecx, ecx
xor edx, edx
mov cl, byte [0x428dd7]
mov dl, byte [0x428dd6]
push ecx
mov ecx, dword [esp + 0x54]
push edx
push eax
mov eax, dword [esp + 0x38]
add esi, 0xf8
push eax
push ecx
push esi
call sub.MFC42.DLL_CString::Format
mov al, byte [esp + 0x50]
add esp, 0x38
test al, 1
mov dword [esp + 0x28], 4
je 0x416a0f
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov byte [esp + 0x28], 3
call sub.MFC42.DLL_CString::CString
jmp 0x416d7c
mov edx, dword [0x42905c]
lea eax, [esp + 0x30]
push edx
push 0xae4
push eax
call fcn.0040f220
mov edx, dword [0x428ddc]
xor ecx, ecx
mov cl, byte [0x428ddd]
add esp, 0xc
xor eax, eax
and edx, 0xff
mov al, byte [0x428ddb]
push ecx
xor ecx, ecx
push edx
mov cl, byte [0x428dda]
push eax
mov eax, dword [0x428dd8]
xor edx, edx
mov dl, byte [0x428dd9]
push ecx
xor ecx, ecx
and eax, 0xff
mov cl, byte [0x428dd7]
push edx
push eax
mov eax, dword [0x428de4]
xor edx, edx
push ecx
mov dl, byte [0x428dd6]
xor ecx, ecx
mov cl, byte [0x428de3]
and eax, 0xff
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x54]
push ecx
push edx
add esi, 0xf8
push eax
push esi
call sub.MFC42.DLL_CString::Format
add esp, 0x34
jmp 0x416d7c
mov ecx, dword [0x42905c]
lea edx, [esp + 0x30]
push ecx
push 0xb09
push edx
call fcn.0040f220
mov ecx, dword [0x428ddc]
xor eax, eax
mov al, byte [0x428ddd]
add esp, 0xc
and ecx, 0xff
xor edx, edx
mov dl, byte [0x428ddb]
push eax
push ecx
xor eax, eax
mov al, byte [0x428dda]
xor ecx, ecx
mov cl, byte [0x428dd9]
push edx
mov edx, dword [0x428dd8]
push eax
push ecx
and edx, 0xff
xor eax, eax
xor ecx, ecx
mov al, byte [0x428dd7]
mov cl, byte [0x428dd6]
push edx
push eax
push ecx
push 0x4235dc
jmp 0x416ce2
mov ecx, dword [0x42905c]
lea edx, [esp + 0x30]
push ecx
push 0xb09
push edx
call fcn.0040f220
mov ecx, dword [0x428ddc]
xor eax, eax
mov al, byte [0x428ddd]
add esp, 0xc
and ecx, 0xff
xor edx, edx
mov dl, byte [0x428ddb]
push eax
push ecx
xor eax, eax
mov al, byte [0x428dda]
xor ecx, ecx
mov cl, byte [0x428dd9]
push edx
mov edx, dword [0x428dd8]
push eax
push ecx
and edx, 0xff
xor eax, eax
xor ecx, ecx
mov al, byte [0x428dd7]
mov cl, byte [0x428dd6]
push edx
push eax
push ecx
push 0x4235d8
jmp 0x416ce2
mov ecx, dword [0x42905c]
lea edx, [esp + 0x30]
push ecx
push 0xb09
push edx
call fcn.0040f220
mov ecx, dword [0x428ddc]
xor eax, eax
mov al, byte [0x428ddd]
add esp, 0xc
and ecx, 0xff
xor edx, edx
mov dl, byte [0x428ddb]
push eax
push ecx
xor eax, eax
mov al, byte [0x428dda]
xor ecx, ecx
mov cl, byte [0x428dd9]
push edx
mov edx, dword [0x428dd8]
push eax
push ecx
and edx, 0xff
xor eax, eax
xor ecx, ecx
mov al, byte [0x428dd7]
mov cl, byte [0x428dd6]
push edx
push eax
push ecx
push 0x4235d4
jmp 0x416ce2
mov ecx, dword [0x42905c]
lea edx, [esp + 0x30]
push ecx
push 0xb09
push edx
call fcn.0040f220
mov ecx, dword [0x428ddc]
xor eax, eax
mov al, byte [0x428ddd]
add esp, 0xc
and ecx, 0xff
xor edx, edx
mov dl, byte [0x428ddb]
push eax
push ecx
xor eax, eax
mov al, byte [0x428dda]
xor ecx, ecx
mov cl, byte [0x428dd9]
push edx
mov edx, dword [0x428dd8]
push eax
push ecx
and edx, 0xff
xor eax, eax
xor ecx, ecx
mov al, byte [0x428dd7]
mov cl, byte [0x428dd6]
push edx
push eax
push ecx
push 0x4235d0
jmp 0x416ce2
mov ecx, dword [0x42905c]
lea edx, [esp + 0x30]
push ecx
push 0xb09
push edx
call fcn.0040f220
mov ecx, dword [0x428ddc]
xor eax, eax
mov al, byte [0x428ddd]
add esp, 0xc
and ecx, 0xff
xor edx, edx
mov dl, byte [0x428ddb]
push eax
push ecx
xor eax, eax
mov al, byte [0x428dda]
xor ecx, ecx
mov cl, byte [0x428dd9]
push edx
mov edx, dword [0x428dd8]
push eax
push ecx
and edx, 0xff
xor eax, eax
xor ecx, ecx
mov al, byte [0x428dd7]
mov cl, byte [0x428dd6]
push edx
push eax
push ecx
push str.SKIP
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x54]
push edx
add esi, 0xf8
push eax
push esi
call sub.MFC42.DLL_CString::Format
add esp, 0x30
jmp 0x416d7c
mov ecx, dword [0x42905c]
lea edx, [esp + 0x30]
push ecx
push 0xae5
push edx
call fcn.0040f220
mov ecx, dword [0x428ddc]
xor eax, eax
mov al, byte [0x428ddd]
add esp, 0xc
and ecx, 0xff
xor edx, edx
mov dl, byte [0x428ddb]
push eax
push ecx
xor eax, eax
mov al, byte [0x428dda]
xor ecx, ecx
mov cl, byte [0x428dd9]
push edx
mov edx, dword [0x428dd8]
push eax
push ecx
xor eax, eax
mov al, byte [0x428dd7]
and edx, 0xff
xor ecx, ecx
push edx
mov cl, byte [0x428dd6]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
add esi, 0xf8
push eax
push esi
call sub.MFC42.DLL_CString::Format
add esp, 0x2c
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0x28], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x28], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x20]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret 4