Function at 0x418f70
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x448602
mov eax, dword fs:[0]
push eax
mov eax, 0x41f4
call fcn.00435100
mov eax, dword [0x457a00]
xor eax, esp
mov dword [esp + 0x41f0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x457a00]
xor eax, esp
push eax
lea eax, [esp + 0x4208]
mov dword fs:[0], eax
mov eax, dword [esp + 0x421c]
mov esi, dword [0x458e6c]
mov ebp, dword [esp + 0x4218]
push 0xfff
mov dword [esp + 0x44], eax
mov byte [eax], 0xff
xor edi, edi
lea eax, [esp + 0x2209]
push edi
push eax
mov dword [esp + 0x48], ebp
mov byte [esp + 0x2f], 0x7e
mov byte [esp + 0x2210], 0
call fcn.00433570
add esp, 0xc
push 0xfff
lea ecx, [esp + 0x3209]
push edi
push ecx
mov byte [esp + 0x3210], 0
call fcn.00433570
add esp, 0xc
cmp esi, 7
mov dword [esp + 0x28], edi
je 0x4196d7
cmp esi, 8
je 0x4196d7
cmp esi, 9
je 0x4196d7
cmp esi, 0xa
je 0x4196d7
push 0x1c
call fcn.0042501f
mov esi, eax
add esp, 4
mov dword [esp + 0x38], esi
cmp esi, edi
mov dword [esp + 0x4210], edi
je 0x4190d8
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov byte [esp + 0x4210], 1
lea ebx, [esp + 0x18]
mov byte [esp + 0x18], 0x3a
call fcn.00424280
mov eax, dword [esi + 4]
test eax, eax
je 0x419085
mov edx, dword [esi + 8]
sub edx, eax
jne 0x41908a
call fcn.00430872
mov eax, dword [esi + 4]
mov ecx, 1
call fcn.00424fd0
movzx eax, ax
lea ebx, [esp + 0x18]
mov dword [esp + 0x34], eax
mov byte [esp + 0x18], al
call fcn.00424280
mov al, byte [esp + 0x35]
lea ebx, [esp + 0x18]
mov byte [esp + 0x18], al
call fcn.00424280
lea ebx, [esp + 0x18]
mov byte [esp + 0x18], 0x7e
call fcn.00424280
xor eax, eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], eax
mov dword [esp + 0x24], esi
jmp 0x4190de
mov dword [esp + 0x24], edi
mov esi, edi
mov dword [esp + 0x4210], 0xffffffff
call fcn.00423af0
mov eax, dword [esi + 4]
test eax, eax
je 0x4190fc
mov ecx, dword [esi + 8]
sub ecx, eax
jne 0x419101
call fcn.00430872
mov edx, dword [esi + 4]
mov dword [esp + 0x2c], edx
mov eax, dword [esi + 4]
test eax, eax
jne 0x419115
mov dword [esp + 0x30], eax
jmp 0x41911e
mov ecx, dword [esi + 8]
sub ecx, eax
mov dword [esp + 0x30], ecx
mov ebx, 1
cmp dword [0x45b81c], ebx
jne 0x419133
mov edx, dword [ebp]
mov edi, dword [edx + 4]
jmp 0x419136
mov edi, dword [ebp]
or ebp, 0xffffffff
cmp edi, ebp
je 0x4192db
lea eax, [esp + 0x23]
mov dword [edi + 0x184], eax
mov dword [edi + 0x18c], ebx
mov dword [edi + 0x190], ebx
mov byte [edi + 0x194], 0
xor esi, esi
mov eax, dword [0x45b820]
test eax, eax
je 0x419175
lea ecx, [esp + 0x2c]
push ecx
push 2
call eax
add esp, 8
cmp byte [edi + 0x14], 0
jne 0x41917f
xor al, al
jmp 0x4191d9
cmp byte [edi + 0x15], 0
mov eax, dword [esp + 0x30]
jne 0x419197
mov edx, dword [esp + 0x2c]
push edx
mov ecx, edi
call fcn.00422460
jmp 0x4191a4
mov ecx, dword [esp + 0x2c]
push eax
push ecx
mov eax, edi
call fcn.00422260
test al, al
jne 0x4191bc
push edi
call fcn.004226b0
test al, al
jne 0x4191b8
mov dword [edi + 0x298], ebp
xor al, al
jmp 0x4191d9
lea edx, [esp + 0x28]
push edx
push 0x1000
lea edx, [esp + 0x220c]
mov ecx, edi
call fcn.00422bc0
test al, al
setne al
movzx eax, al
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x4191fe
cmp dword [edi + 0x298], ebp
jne 0x4191f1
mov esi, 2
mov eax, esi
add esi, ebx
cmp eax, 2
jl 0x419160
mov ebx, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x34], 0x1000
lea esp, [esp]
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x3210]
push ecx
push ebx
lea edx, [esp + 0x2218]
push edx
push eax
call fcn.00423420
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jne 0x4192c3
push ebx
lea ecx, [esp + 0x2208]
push ebp
push ecx
call fcn.00433570
add esp, 0xc
push 0x1000
lea edx, [esp + 0x3208]
push ebp
push edx
call fcn.00433570
add esp, 0xc
push str.call_the_printfinfo....
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [esp + 0x28]
push eax
push 0x1000
lea edx, [esp + 0x220c]
mov ecx, edi
call fcn.00422bc0
movzx eax, al
test eax, eax
jne 0x4192a6
cmp dword [edi + 0x298], 0xffffffff
jne 0x4192a6
mov esi, 2
mov ecx, esi
xor ebp, ebp
add esi, 1
cmp ecx, 2
mov dword [esp + 0x1c], ebp
jge 0x4192c3
mov ebx, dword [esp + 0x28]
cmp ebx, 4
jge 0x419210
mov esi, dword [esp + 0x24]
call fcn.00423e00
push esi
call fcn.0042504a
xor ebx, ebx
add esp, 4
cmp ebp, ebx
jne 0x4192e2
xor eax, eax
jmp 0x419725
push str.reset_port_end_n
call fcn.00424780
add esp, 4
push 0x21bc
lea edx, [esp + 0x4c]
push ebx
push edx
mov word [esp + 0x50], bx
call fcn.00433570
add esp, 0xc
mov esi, edi
mov dword [esp + 0x1c], ebx
call fcn.00422ef0
mov ebp, 1
push ebp
lea eax, [esp + 0x20]
push eax
push 8
lea ecx, [esp + 0x50]
call fcn.004217a0
mov edi, dword [esp + 0x28]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0xc
xor esi, esi
push ebp
lea ecx, [esp + 0x20]
push ecx
push 8
lea ecx, [esp + 0x50]
call fcn.004217a0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, edi
jl 0x419367
test eax, eax
jle 0x419367
push 0x1f4
call ebx
mov edx, esi
add esi, ebp
cmp edx, 0x2d
jl 0x419337
xor esi, esi
lea esp, [esp]
push ebp
lea eax, [esp + 0x20]
push eax
push 8
lea ecx, [esp + 0x50]
call fcn.004217a0
mov edi, dword [esp + 0x28]
add esp, 0xc
cmp edi, ebp
jge 0x41939c
push 0x1f4
call ebx
mov ecx, esi
add esi, ebp
cmp ecx, 0x2d
jl 0x419370
xor eax, eax
cmp edi, ebp
sete al
xor edi, edi
test eax, eax
je 0x4193e8
lea esp, [esp]
call fcn.00418ac0
xor edx, edx
cmp eax, 0xffffffff
setne dl
mov dword [0x45b81c], ebp
mov esi, edx
test esi, esi
jne 0x4193d2
push 0x3e8
call ebx
jmp 0x4193db
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
mov dword [edx + 4], eax
test esi, esi
jne 0x4193e8
mov eax, edi
add edi, ebp
cmp eax, 0x2d
jl 0x4193b0
push str.reset_port_end_n
call fcn.00424780
add esp, 4
mov dword [esp + 0x34], 0x1000
lea ecx, [ecx]
push 0x1c
call fcn.0042501f
mov esi, eax
add esp, 4
mov dword [esp + 0x38], esi
test esi, esi
mov dword [esp + 0x4210], 2
je 0x4194b8
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov byte [esp + 0x4210], 3
lea ebx, [esp + 0x18]
mov byte [esp + 0x18], 0x7e
call fcn.00424280
lea ebx, [esp + 0x18]
mov byte [esp + 0x18], 0xc
call fcn.00424280
mov eax, dword [esi + 4]
test eax, eax
je 0x419460
mov ecx, dword [esi + 8]
sub ecx, eax
jne 0x419465
call fcn.00430872
mov eax, dword [esi + 4]
add eax, 1
mov ecx, 1
call fcn.00424fd0
movzx eax, ax
lea ebx, [esp + 0x18]
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
call fcn.00424280
mov dl, byte [esp + 0x25]
lea ebx, [esp + 0x18]
mov byte [esp + 0x18], dl
call fcn.00424280
lea ebx, [esp + 0x18]
mov byte [esp + 0x18], 0x7e
call fcn.00424280
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 1
jmp 0x4194ba
xor esi, esi
or ebx, 0xffffffff
mov ebp, 1
mov dword [esp + 0x24], esi
mov dword [esp + 0x4210], ebx
call fcn.00423af0
mov eax, dword [esi + 4]
test eax, eax
je 0x4194e0
mov ecx, dword [esi + 8]
sub ecx, eax
jne 0x4194e5
call fcn.00430872
mov edx, dword [esi + 4]
mov dword [esp + 0x2c], edx
mov eax, dword [esi + 4]
test eax, eax
jne 0x4194f9
mov dword [esp + 0x30], eax
jmp 0x419502
mov ecx, dword [esi + 8]
sub ecx, eax
mov dword [esp + 0x30], ecx
cmp dword [0x45b81c], ebp
jne 0x419515
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov edi, dword [eax + 4]
jmp 0x41951b
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx]
lea edx, [esp + 0x23]
mov dword [edi + 0x184], edx
mov dword [edi + 0x18c], ebp
mov dword [edi + 0x190], ebp
mov byte [edi + 0x194], 0
xor esi, esi
lea ebx, [ebx]
mov eax, dword [0x45b820]
test eax, eax
je 0x419555
lea ecx, [esp + 0x2c]
push ecx
push 2
call eax
add esp, 8
cmp byte [edi + 0x14], 0
jne 0x41955f
xor al, al
jmp 0x4195b9
cmp byte [edi + 0x15], 0
mov eax, dword [esp + 0x30]
jne 0x419577
mov edx, dword [esp + 0x2c]
push edx
mov ecx, edi
call fcn.00422460
jmp 0x419584
mov ecx, dword [esp + 0x2c]
push eax
push ecx
mov eax, edi
call fcn.00422260
test al, al
jne 0x41959c
push edi
call fcn.004226b0
test al, al
jne 0x419598
mov dword [edi + 0x298], ebx
xor al, al
jmp 0x4195b9
lea edx, [esp + 0x28]
push edx
push 0x1000
lea edx, [esp + 0x220c]
mov ecx, edi
call fcn.00422bc0
test al, al
setne al
movzx eax, al
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x4195de
cmp dword [edi + 0x298], ebx
jne 0x4195d1
mov esi, 5
mov eax, esi
add esi, ebp
cmp eax, 5
jl 0x419540
mov esi, dword [esp + 0x28]
xor ebp, ebp
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x3210]
push ecx
push esi
lea edx, [esp + 0x2218]
push edx
push eax
call fcn.00423420
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jne 0x419693
push esi
lea ecx, [esp + 0x2208]
push ebx
push ecx
call fcn.00433570
add esp, 0xc
push 0x1000
lea edx, [esp + 0x3208]
push ebx
push edx
call fcn.00433570
add esp, 0xc
push str.call_the_printfinfo....
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [esp + 0x28]
push eax
push 0x1000
lea edx, [esp + 0x220c]
mov ecx, edi
call fcn.00422bc0
movzx eax, al
test eax, eax
jne 0x419676
cmp dword [edi + 0x298], 0xffffffff
jne 0x419676
mov ebp, 5
mov ecx, ebp
xor ebx, ebx
add ebp, 1
cmp ecx, 2
mov dword [esp + 0x1c], ebx
jge 0x419693
mov esi, dword [esp + 0x28]
cmp esi, 4
jge 0x4195e4
mov esi, dword [esp + 0x24]
call fcn.00423e00
push esi
call fcn.0042504a
add esp, 4
test ebx, ebx
jne 0x4196ce
cmp ebp, 5
jl 0x419400
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
call fcn.00415e60
test eax, eax
je 0x4192db
mov ecx, dword [esp + 0x40]
mov byte [ecx], 1
jmp 0x419720
mov edx, dword [esp + 0x40]
mov byte [edx], 0
jmp 0x419720
mov eax, dword [ebp]
push 0x3a
xor esi, esi
xor edi, edi
call fcn.00415d50
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.reset_port_n
mov dword [0x458e40], 0x3c
call fcn.00424780
add esp, 4
push ebp
call fcn.00415ac0
add esp, 4
push str.reset_port_end_n
call fcn.00424780
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x4208]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x41f0]
xor ecx, esp
call fcn.0042fb8f
add esp, 0x4200
ret