Function at 0x40baf0
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x44d62a
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x461b64]
xor eax, esp
push eax
lea eax, [esp + 0xb4]
mov dword fs:[0], eax
mov eax, dword [esp + 0xc8]
add eax, 4
add ecx, 0xffffffff
push eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.00414950
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
xor ebx, ebx
cmp esi, eax
mov dword [esp + 0xbc], ebx
jbe 0x40bb53
call fcn.004362ba
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x64]
mov edi, ecx
lea esp, [esp]
cmp dword [esp + 0x68], eax
mov ebp, eax
jbe 0x40bb6d
call fcn.004362ba
cmp edi, ebx
je 0x40bb79
lea edx, [esp + 0x64]
cmp edi, edx
je 0x40bb7e
call fcn.004362ba
cmp esi, ebp
je 0x40bbc9
cmp edi, ebx
jne 0x40bb8b
call fcn.004362ba
cmp esi, dword [edi + 8]
jb 0x40bb95
call fcn.004362ba
mov eax, dword [esi + 0x10]
push 0x451b78
push eax
call fcn.004150c0
add esp, 8
test eax, eax
jne 0x40bbb6
mov ecx, dword [esp + 0xc4]
call fcn.00404a30
cmp esi, dword [edi + 8]
jb 0x40bbc0
call fcn.004362ba
mov eax, dword [esp + 0x6c]
add esi, 0x14
jmp 0x40bb60
push 0x1c
mov dword [esp + 0x24], 1
mov dword [esp + 0x34], ebx
call fcn.004362e3
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, ebx
mov byte [esp + 0xbc], 1
je 0x40bbf8
mov ecx, eax
call fcn.0040f420
jmp 0x40bbfa
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x1c], eax
mov byte [esp + 0xbc], bl
jne 0x40bc72
push str.No_enough_memory.
push 0x463178
call fcn.00403ad0
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00404220
mov eax, dword [esi]
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
xor edi, edi
test byte [eax + 8], 6
jne 0x40bc4c
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x40bc4c
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebx
je 0x40bc6b
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], ebx
jne 0x40bc64
or eax, 4
push ebx
push eax
call fcn.00401cc0
push 2
call fcn.00436c40
mov ecx, eax
call fcn.0040ca90
lea ecx, [esp + 0x24]
mov dword [esp + 0x5c], ebx
call fcn.0040c9e0
mov dword [esp + 0x28], eax
mov byte [eax + 0x15], 1
mov eax, dword [esp + 0x28]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x28]
mov dword [eax], eax
mov eax, dword [esp + 0x28]
mov dword [eax + 8], eax
mov dword [esp + 0x2c], ebx
lea ecx, [esp + 0x38]
mov byte [esp + 0xbc], 2
call fcn.0040c9e0
mov dword [esp + 0x3c], eax
mov byte [eax + 0x15], 1
mov eax, dword [esp + 0x3c]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [eax], eax
mov eax, dword [esp + 0x3c]
mov dword [eax + 8], eax
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x50]
mov byte [esp + 0xbc], 3
call fcn.0040c9e0
mov dword [esp + 0x54], eax
mov byte [eax + 0x15], 1
mov eax, dword [esp + 0x54]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x54]
mov dword [eax], eax
mov eax, dword [esp + 0x54]
mov dword [eax + 8], eax
mov dword [esp + 0x58], ebx
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
cmp esi, eax
mov byte [esp + 0xbc], 4
mov dword [esp + 0x60], str.serial
jbe 0x40bd2d
call fcn.004362ba
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0xc4]
lea ecx, [esp + 0x64]
mov dword [esp + 0x14], ecx
mov edi, esi
cmp dword [esp + 0x68], eax
mov dword [esp + 0x18], edi
mov esi, eax
jbe 0x40bd4f
call fcn.004362ba
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x40bd5f
lea edx, [esp + 0x64]
cmp eax, edx
je 0x40bd68
call fcn.004362ba
mov eax, dword [esp + 0x14]
cmp edi, esi
je 0x40c3e4
cmp eax, ebx
jne 0x40bd7d
call fcn.004362ba
mov eax, dword [esp + 0x14]
cmp edi, dword [eax + 8]
jb 0x40bd87
call fcn.004362ba
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.0040cbb0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
cmp edi, dword [eax + 8]
jb 0x40bda6
call fcn.004362ba
mov eax, dword [edi + 0x10]
push 0x451b78
push eax
call fcn.004150c0
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x40be12
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push 2
call fcn.0040d4a0
mov esi, eax
cmp esi, ebx
je 0x40c0ea
mov eax, dword [esp + 0x14]
cmp edi, dword [eax + 8]
jb 0x40bdea
call fcn.004362ba
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x30]
push eax
push ecx
push esi
push edx
mov ecx, ebp
call fcn.004012e0
add dword [esp + 0x30], 1
test eax, eax
je 0x40c159
jmp 0x40c0cc
push str.help
push esi
call fcn.004150c0
add esp, 8
cmp eax, ebx
je 0x40be2c
cmp byte [eax], bl
je 0x40c160
push 0x451b60
push esi
call fcn.004150c0
add esp, 8
cmp eax, ebx
jne 0x40c17c
push str.route
push esi
call fcn.004150c0
add esp, 8
cmp eax, ebx
je 0x40be70
lea ecx, [esp + 0x24]
push ecx
push 1
push ebx
push ebx
push eax
push ebp
mov dword [esp + 0x38], ebx
call fcn.0040b060
add esp, 0x18
jmp 0x40c0cc
push str.bi_route
push esi
call fcn.004150c0
add esp, 8
cmp eax, ebx
je 0x40be9f
lea edx, [esp + 0x24]
push edx
push 1
push ebx
push 1
push eax
push ebp
mov dword [esp + 0x38], ebx
call fcn.0040b060
add esp, 0x18
jmp 0x40c0cc
push str.no_route
push esi
call fcn.004150c0
add esp, 8
cmp eax, ebx
je 0x40bece
lea ecx, [esp + 0x24]
push ecx
push 1
push 1
push ebx
push eax
push ebp
mov dword [esp + 0x38], ebx
call fcn.0040b060
add esp, 0x18
jmp 0x40c0cc
push str.echo_route
push esi
call fcn.004150c0
mov edx, eax
add esp, 8
cmp edx, ebx
je 0x40bef6
lea eax, [esp + 0x24]
mov ecx, ebp
mov dword [esp + 0x20], ebx
call fcn.0040afd0
jmp 0x40c0cc
push str.fc_route
push esi
call fcn.004150c0
add esp, 8
cmp eax, ebx
je 0x40bf23
lea edx, [esp + 0x38]
push edx
push ebx
push ebx
push ebx
push eax
push ebp
mov dword [esp + 0x38], ebx
call fcn.0040b060
add esp, 0x18
jmp 0x40c0cc
push str.no_default_fc_route
push esi
call fcn.004150c0
add esp, 8
cmp eax, ebx
je 0x40bf50
lea ecx, [esp + 0x50]
push ecx
push ebx
push ebx
push ebx
push eax
push ebp
mov dword [esp + 0x38], ebx
call fcn.0040b060
add esp, 0x18
jmp 0x40c0cc
push str.create_filter
push esi
call fcn.004150c0
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x40c07f
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
jne 0x40bfac
push 0x20
call fcn.004362e3
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, ebx
mov byte [esp + 0xbc], 5
je 0x40bf94
push ebp
mov ecx, eax
call fcn.0040a140
jmp 0x40bf96
xor eax, eax
cmp eax, ebx
mov ecx, eax
mov byte [esp + 0xbc], 4
mov dword [esp + 0x5c], ecx
je 0x40c249
mov edx, dword [esp + 0x1c]
push ecx
push edx
mov eax, edi
call fcn.0040b180
add esp, 8
test eax, eax
jne 0x40c0cc
lea ecx, [esp + 0x14]
call fcn.00409510
mov eax, dword [eax + 0x10]
push 0x451afc
push eax
push str.Cant_create_filter_by_
push 0x463178
call fcn.00403ad0
add esp, 8
push eax
call fcn.00403ad0
add esp, 8
push eax
call fcn.00403ad0
add esp, 8
push 0x450698
lea ecx, [esp + 0x9c]
call fcn.00401a90
push 0x451adc
lea ecx, [esp + 0x80]
mov byte [esp + 0xc0], 6
call fcn.00401a90
lea edx, [esp + 0x98]
push edx
lea eax, [esp + 0x80]
push eax
push 0x463178
lea ecx, [esp + 0x20]
mov byte [esp + 0xc8], 7
call fcn.00409510
mov ecx, eax
call fcn.00412c40
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00404220
mov ecx, esi
call fcn.00402a00
lea ecx, [esp + 0x7c]
call fcn.004159b0
lea ecx, [esp + 0x98]
call fcn.004159b0
push 1
call fcn.00436c40
push str.add_filters
push esi
call fcn.004150c0
add esp, 8
cmp eax, ebx
je 0x40c0aa
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
je 0x40c274
push eax
push ecx
push ebp
call fcn.0040b9d0
add esp, 0xc
jmp 0x40c0cc
push str.use_driver
push esi
call fcn.004150c0
add esp, 8
cmp eax, ebx
je 0x40c0c2
mov dword [esp + 0x60], eax
jmp 0x40c0cc
cmp dword [esp + 0x34], ebx
je 0x40c32c
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp edi, dword [eax + 8]
jb 0x40c0de
call fcn.004362ba
mov eax, dword [esp + 0x6c]
add edi, 0x14
jmp 0x40bd3e
mov ecx, dword [esp + 0x60]
push ecx
push str.No_driver
push 0x463178
call fcn.00403ad0
add esp, 8
push eax
call fcn.00403ad0
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00404220
mov edx, dword [esi]
mov eax, dword [edx + 4]
add eax, esi
xor edi, edi
test byte [eax + 8], 6
jne 0x40c13a
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x40c13a
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebx
je 0x40c159
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], ebx
jne 0x40c152
or eax, 4
push ebx
push eax
call fcn.00401cc0
push 1
call fcn.00436c40
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc8]
mov edi, dword [eax]
push edx
call fcn.0040a1c0
add esp, 4
push ebx
call fcn.00436c40
push eax
call fcn.004373c3
mov esi, eax
add esp, 4
cmp esi, ebx
jne 0x40c1f4
push str.No_enough_memory.
push 0x463178
call fcn.00403ad0
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00404220
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
lea eax, [edx + esi]
xor edi, edi
test byte [eax + 8], 6
jne 0x40c1ce
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x40c1ce
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebx
je 0x40c1ed
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], ebx
jne 0x40c1e6
or eax, 4
push ebx
push eax
call fcn.00401cc0
push 2
call fcn.00436c40
push ebx
lea edx, [esp + 0x38]
push edx
push 0x45069c
push esi
call fcn.00410210
add esp, 0x10
cmp eax, ebx
je 0x40c23a
mov edi, dword [esp + 0xc8]
mov ebp, dword [esp + 0x1c]
push eax
mov eax, dword [edi]
push eax
mov ecx, ebp
call fcn.0040e960
push ebx
lea ecx, [esp + 0x38]
push ecx
push 0x45069c
push ebx
call fcn.00410210
add esp, 0x10
cmp eax, ebx
jne 0x40c217
push esi
call fcn.00437035
add esp, 4
push ebx
call fcn.00436c40
push str.No_enough_memory.
push 0x463178
call fcn.00403ad0
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00404220
mov ecx, esi
call fcn.00402a00
push 2
call fcn.00436c40
lea ecx, [esp + 0x14]
call fcn.00409510
mov eax, dword [eax + 0x10]
push 0x451afc
push eax
push str.There_is_not_any___create_filter_option_before_
push 0x463178
call fcn.00403ad0
add esp, 8
push eax
call fcn.00403ad0
add esp, 8
push eax
call fcn.00403ad0
add esp, 8
push 0x450698
lea ecx, [esp + 0x80]
call fcn.00401a90
push 0x451adc
lea ecx, [esp + 0x9c]
mov byte [esp + 0xc0], 8
call fcn.00401a90
lea ecx, [esp + 0x7c]
push ecx
lea edx, [esp + 0x9c]
push edx
push 0x463178
lea ecx, [esp + 0x20]
mov byte [esp + 0xc8], 9
call fcn.00409510
mov ecx, eax
call fcn.00412c40
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00404220
mov ecx, esi
call fcn.00402a00
lea ecx, [esp + 0x98]
call fcn.004159b0
lea ecx, [esp + 0x7c]
call fcn.004159b0
push 1
call fcn.00436c40
lea ecx, [esp + 0x14]
call fcn.00409510
mov eax, dword [eax + 0x10]
push 0x451afc
push eax
push str.Unknown_option_
push 0x463178
call fcn.00403ad0
add esp, 8
push eax
call fcn.00403ad0
add esp, 8
push eax
call fcn.00403ad0
add esp, 8
push 0x450698
lea ecx, [esp + 0x80]
call fcn.00401a90
push 0x451adc
lea ecx, [esp + 0x9c]
mov byte [esp + 0xc0], 0xa
call fcn.00401a90
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x9c]
push ecx
push 0x463178
lea ecx, [esp + 0x20]
mov byte [esp + 0xc8], 0xb
call fcn.00409510
mov ecx, eax
call fcn.00412c40
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00404220
mov ecx, esi
call fcn.00402a00
lea ecx, [esp + 0x98]
call fcn.004159b0
lea ecx, [esp + 0x7c]
call fcn.004159b0
push 1
call fcn.00436c40
cmp dword [esp + 0x30], 1
jge 0x40c408
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc8]
mov edi, dword [eax]
push edx
call fcn.0040a1c0
add esp, 4
push 1
call fcn.00436c40
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.0040ccf0
mov ecx, esi
call fcn.0040d9f0
push esi
call fcn.004360b5
add esp, 4
cmp dword [esp + 0x30], 1
jle 0x40c45b
cmp dword [esp + 0x20], ebx
je 0x40c45b
lea ecx, [esp + 0x24]
push ecx
push 1
push ebx
push ebx
push str.0:All
push ebp
call fcn.0040b060
lea edx, [esp + 0x3c]
push edx
push 1
push ebx
push ebx
push 0x451a60
push ebp
call fcn.0040b060
add esp, 0x30
lea ecx, [esp + 0x44]
call fcn.0040c9e0
mov dword [esp + 0x48], eax
mov byte [eax + 0x15], 1
mov eax, dword [esp + 0x48]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x48]
mov dword [eax], eax
mov eax, dword [esp + 0x48]
mov dword [eax + 8], eax
mov dword [esp + 0x4c], ebx
push ebx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov byte [esp + 0xc8], 0xc
call fcn.0040fe50
push 1
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x58]
push eax
call fcn.0040fdc0
push ebx
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x58]
push edx
call fcn.0040fdc0
lea esi, [ebp + 0x1c]
lea eax, [esp + 0x5c]
add esp, 0x24
cmp esi, eax
je 0x40c4ec
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push eax
push esi
push ecx
push esi
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.00409ea0
lea edx, [esp + 0x38]
push edx
mov ecx, esi
call fcn.00409780
lea esi, [ebp + 0x10]
lea eax, [esp + 0x24]
cmp esi, eax
je 0x40c518
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push eax
push esi
push ecx
push esi
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.00409ea0
lea edx, [esp + 0x24]
push edx
mov ecx, esi
call fcn.00409780
mov esi, dword [esp + 0x5c]
mov ecx, ebp
mov dword [ebp + 0x28], esi
call fcn.00404f60
cmp esi, ebx
je 0x40c531
mov ecx, esi
call fcn.00408a00
mov eax, dword [esp + 0x48]
mov edx, dword [eax]
push eax
lea ecx, [esp + 0x48]
push ecx
push edx
mov esi, ecx
push esi
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0xd0], 4
call fcn.00409ea0
mov ecx, dword [esp + 0x48]
push ecx
call fcn.004360b5
mov eax, dword [esp + 0x58]
add esp, 4
push eax
lea ecx, [esp + 0x54]
push ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov edx, dword [eax]
push edx
mov esi, ecx
push esi
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0xd0], 3
call fcn.00409ea0
mov eax, dword [esp + 0x54]
push eax
call fcn.004360b5
mov eax, dword [esp + 0x40]
add esp, 4
push eax
lea ecx, [esp + 0x3c]
push ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov edx, dword [eax]
mov esi, ecx
push edx
push esi
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
mov byte [esp + 0xd0], 2
call fcn.00409ea0
mov edx, dword [esp + 0x3c]
push edx
call fcn.004360b5
mov eax, dword [esp + 0x2c]
add esp, 4
push eax
lea ecx, [esp + 0x28]
push ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov edx, dword [eax]
push edx
mov esi, ecx
push esi
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0xd0], bl
call fcn.00409ea0
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004360b5
mov eax, dword [esp + 0x6c]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xbc], 0xffffffff
je 0x40c64b
mov edi, dword [esp + 0x6c]
cmp eax, edi
mov esi, eax
je 0x40c642
jmp 0x40c630
mov ecx, esi
call fcn.004101c0
add esi, 0x14
cmp esi, edi
jne 0x40c630
mov eax, dword [esp + 0x68]
push eax
call fcn.004360b5
add esp, 4
mov ecx, dword [esp + 0xb4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret