Function at 0x413180
Capabilities:
Check if file exists
Create directory
Delete directory
Delete file
Encode data using base64
Enumerate pe sections
Get file attributes
Move file
Parse pe header
Set file attributes
Timestomp file

Disassembly:
push 0xffffffffffffffff
push 0x474737
mov eax, dword fs:[0]
push eax
mov eax, 0x1c08
call fcn.0046e070
mov eax, dword [0x48e4f0]
xor eax, esp
mov dword [esp + 0x1c00], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48e4f0]
xor eax, esp
push eax
lea eax, [esp + 0x1c1c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x1c2c]
xor edi, edi
cmp dword [ebp + 0x998], edi
jne 0x4195e2
mov esi, 7
xor eax, eax
mov dword [esp + 0x25c], esi
mov dword [esp + 0x258], edi
mov word [esp + 0x248], ax
mov dword [esp + 0x1c24], edi
xor ecx, ecx
mov dword [esp + 0x1ec], esi
mov dword [esp + 0x1e8], edi
mov word [esp + 0x1d8], cx
lea edx, [esp + 0x248]
push edx
push ebp
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x1c2c], 1
call fcn.004124d0
test eax, eax
jne 0x41326b
mov ebx, 8
cmp dword [esp + 0x1ec], ebx
jb 0x41324f
mov eax, dword [esp + 0x1d8]
push eax
call fcn.004593e2
add esp, 4
xor ecx, ecx
cmp dword [esp + 0x25c], ebx
mov dword [esp + 0x1ec], esi
mov dword [esp + 0x1e8], edi
jmp 0x4195c8
mov dword [esp + 0x14], edi
mov esi, 0x47dfec
xor ebx, ebx
jmp 0x41327a
xor edi, edi
mov eax, esi
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x413280
sub eax, edx
sar eax, 1
mov edi, eax
mov eax, dword [esp + 0x258]
push esi
lea ecx, [esp + 0x24c]
call fcn.00403a30
test eax, eax
je 0x4132c5
inc dword [esp + 0x14]
add ebx, 0x18
add esi, 0x18
cmp ebx, 0x498
jb 0x413278
mov ecx, str.500_Syntax_error__command_unrecognized.
jmp 0x419566
mov esi, dword [esp + 0x14]
lea esi, [esi + esi*2]
add esi, esi
add esi, esi
add esi, esi
cmp dword [esi + 0x47dff8], 0
je 0x41337c
mov eax, dword [esp + 0x1e8]
push 0x47ca70
xor edi, edi
lea ecx, [esp + 0x1dc]
call fcn.00403a30
test eax, eax
jne 0x41337c
push 1
mov ecx, str.501_Syntax_error
mov esi, ebp
call fcn.00412bc0
cmp dword [ebp + 0x88], edi
je 0x413328
mov eax, dword [ebp + 0x54]
mov edx, dword [0x49131c]
push eax
mov eax, dword [ebp + 0x78]
lea ecx, [edi + 2]
call fcn.0044b670
mov esi, 8
cmp dword [esp + 0x1ec], esi
jb 0x413346
mov ecx, dword [esp + 0x1d8]
push ecx
call fcn.004593e2
add esp, 4
xor edx, edx
mov dword [esp + 0x1ec], 7
mov dword [esp + 0x1e8], edi
mov word [esp + 0x1d8], dx
cmp dword [esp + 0x25c], esi
jb 0x4195e2
mov eax, dword [esp + 0x248]
push eax
jmp 0x4195da
cmp dword [ebp + 0x8f0], 0
jne 0x4133d9
cmp dword [esi + 0x47dffc], 0
jne 0x4133d9
push 1
mov ecx, str.530_Please_log_in_with_USER_and_PASS_first.
mov esi, ebp
call fcn.00412bc0
cmp dword [ebp + 0x88], 0
je 0x4133bc
mov ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x78]
mov edx, dword [0x49131c]
push ecx
mov ecx, 2
call fcn.0044b670
lea ecx, [esp + 0x1d8]
call fcn.004044f0
lea ecx, [esp + 0x248]
call fcn.004044f0
jmp 0x4195e2
mov esi, dword [esi + 0x47dfe8]
or edi, 0xffffffff
mov dword [esp + 0x1c], esi
cmp esi, edi
jne 0x4133f4
mov ecx, str.500_Syntax_error__command_unrecognized.
jmp 0x419566
cmp esi, 0x30
ja case.default.0x4133fd
jmp dword [esi*4 + 0x41960c]
mov eax, 1
mov esi, ebp
call fcn.0041b650
cmp dword [ebp + 0x8f0], 0
je 0x4134a8
lea eax, [ebp + 0x8c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp + 0x8f4]
call fcn.0041a130
lea esi, [ebp + 0x910]
call fcn.00446ea0
push 0xc
call fcn.004596f4
add esp, 4
mov esi, eax
push 0x1c
mov dword [esi + 4], 1
call fcn.004596f4
add esp, 4
test eax, eax
je 0x413476
xor ecx, ecx
mov dword [eax + 0x14], 7
mov dword [eax + 0x10], 0
mov word [eax], cx
jmp 0x413478
xor eax, eax
mov dword [esi], eax
mov edx, dword [ebp + 0x78]
push esi
mov dword [esi + 8], edx
mov esi, dword [ebp + 0x54]
push 1
call fcn.004477e0
lea ebx, [ebp + 0x8d4]
push 0x47ca70
mov dword [ebp + 0x8f0], 0
call fcn.00406760
add esp, 4
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0x2b
call fcn.0042c450
or eax, edx
je 0x4134fa
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x2c
call fcn.0042c450
or eax, edx
je 0x4134fa
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx + 0x18]
push edx
mov eax, 0x30
call fcn.0042c450
or eax, edx
je 0x4134fa
cmp dword [ebp + 0x80], 0
jne 0x4134fa
mov ecx, str.530_Have_to_use_explicit_SSL_TLS_before_logging_on.
jmp 0x419566
lea ebx, [ebp + 0x970]
push 0x47ca70
call fcn.00406760
add esp, 4
lea eax, [esp + 0x1d8]
push eax
call fcn.0041cbd0
lea ebx, [ebp + 0x8f4]
lea edi, [esp + 0x1d8]
mov eax, ebx
call fcn.00402ba0
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x413626
call fcn.00408020
test eax, eax
je 0x413626
mov edx, edi
lea ecx, [esp + 0x830]
call fcn.004210e0
mov byte [esp + 0x1c24], 2
cmp dword [eax + 0x14], 0x10
jb 0x413564
mov eax, dword [eax]
lea ecx, [esp + 0xc14]
push ecx
mov ecx, dword [ebp + 0x7c]
push eax
mov edx, str.USER
call fcn.00407d30
lea esi, [esp + 0x830]
mov edi, eax
mov byte [esp + 0x1c24], 1
call fcn.00420e00
cmp edi, 0xffffffff
je 0x41956f
push 1
push ebp
xor ecx, ecx
call fcn.0041a870
test eax, eax
je 0x413614
lea edx, [esp + 0x30c]
push edx
lea ecx, [esp + 0xc18]
call fcn.0041cac0
lea eax, [esp + 0x30c]
push eax
lea ecx, [esp + 0x39c]
mov byte [esp + 0x1c28], 3
call fcn.00421340
add esp, 4
mov byte [esp + 0x1c24], 4
cmp dword [eax + 0x14], 8
jb 0x4135ec
mov ecx, dword [eax]
jmp 0x4135ee
mov ecx, eax
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x398]
call fcn.004044f0
lea esi, [esp + 0x30c]
call fcn.00420e00
jmp 0x41956f
push 0x47ca70
call fcn.00406760
add esp, 4
jmp 0x41956f
cmp dword [ebp + 0x80], 0
jne 0x4136cd
lea ecx, [esp + 0xadc]
push ecx
call fcn.004196d0
mov byte [esp + 0x1c24], 5
cmp dword [ebx + 0x14], 8
jb 0x413652
mov eax, dword [ebx]
jmp 0x413654
mov eax, ebx
mov edx, dword [ebp + 0x54]
push 1
push 0x47ca70
push eax
mov eax, dword [edx + 0x14]
push eax
lea ecx, [esp + 0xaec]
call fcn.00434080
test eax, eax
je 0x4136b8
lea ecx, [esp + 0xadc]
call fcn.00402b70
test al, al
je 0x4136b8
push 0x47ca70
call fcn.00406760
add esp, 4
push 1
mov ecx, str.530_SSL_required
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0xadc]
push ecx
mov byte [esp + 0x1c28], 1
call fcn.00419890
jmp 0x41956f
lea edx, [esp + 0xadc]
push edx
mov byte [esp + 0x1c28], 1
call fcn.00419890
lea eax, [esp + 0x1d8]
push eax
lea ecx, [esp + 0x754]
push ecx
mov ebx, str.331_Password_required_for
call fcn.00420c90
add esp, 8
mov byte [esp + 0x1c24], 6
cmp dword [eax + 0x14], 8
jb 0x4136fc
mov ecx, dword [eax]
jmp 0x4136fe
mov ecx, eax
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x750]
call fcn.004044f0
jmp 0x41956f
mov eax, 1
mov esi, ebp
call fcn.0041b650
cmp dword [ebp + 0x8f0], 0
je 0x413737
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x413861
call fcn.00408020
test eax, eax
je 0x413861
lea edx, [esp + 0x1d8]
lea ecx, [esp + 0xa98]
call fcn.004210e0
mov esi, eax
lea edx, [ebp + 0x8f4]
lea ecx, [esp + 0x3d0]
mov byte [esp + 0x1c24], 7
call fcn.004210e0
mov ebx, 8
mov ecx, 0x10
mov byte [esp + 0x1c24], bl
cmp dword [esi + 0x14], ecx
jb 0x413796
mov esi, dword [esi]
cmp dword [eax + 0x14], ecx
jb 0x41379f
mov ecx, dword [eax]
jmp 0x4137a1
mov ecx, eax
mov eax, dword [ebp + 0x7c]
lea edx, [esp + 0xc14]
push edx
push ecx
push eax
mov eax, esi
call fcn.00408030
lea esi, [esp + 0x3d0]
mov edi, eax
call fcn.00420e00
lea esi, [esp + 0xa98]
mov byte [esp + 0x1c24], 1
call fcn.00420e00
cmp edi, 0xffffffff
je 0x41956f
push 1
push ebp
mov ecx, 0x47ca70
call fcn.0041a870
test eax, eax
je 0x41956f
lea ecx, [esp + 0x328]
push ecx
lea ecx, [esp + 0xc18]
call fcn.0041cac0
lea edx, [esp + 0x328]
push edx
lea ecx, [esp + 0x40c]
mov byte [esp + 0x1c28], 9
call fcn.00421340
add esp, 4
mov byte [esp + 0x1c24], 0xa
cmp dword [eax + 0x14], ebx
jb 0x413839
mov ecx, dword [eax]
jmp 0x41383b
mov ecx, eax
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x408]
call fcn.004044f0
lea esi, [esp + 0x328]
call fcn.00420e00
jmp 0x41956f
cmp dword [esp + 0x1ec], 8
mov ecx, dword [esp + 0x1d8]
jae 0x413879
lea ecx, [esp + 0x1d8]
push 0
push ebp
call fcn.0041a870
test eax, eax
je 0x41956f
mov ecx, str.230_Logged_on
jmp 0x419566
mov eax, dword [ebp + 0x964]
mov dword [ebp + 0x8a0], 1
test eax, eax
je 0x4138b1
cmp byte [eax + 0x7c], 0
jne 0x41956f
push 1
mov ecx, str.221_Goodbye
mov esi, ebp
call fcn.00412bc0
cmp dword [ebp + 0x80], 0
mov eax, ebp
je 0x4138e0
call fcn.0040a480
test eax, eax
jne 0x4138ed
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jmp 0x4138e7
call fcn.0041be10
test al, al
je 0x41956f
mov edi, 5
mov eax, ebp
call fcn.00419ff0
jmp 0x41956f
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x413918
mov ecx, str.501_Syntax_error
jmp 0x419566
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
je 0x4139b0
xor eax, eax
mov dword [esp + 0x1d0], 7
mov dword [esp + 0x1cc], 0
mov word [esp + 0x1bc], ax
sub esp, 0x1c
mov byte [esp + 0x1c40], 0xb
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.250_Broken_client_detected__missing_argument_to_CWD.___s__is_current_directory.
lea edx, [esp + 0x1dc]
call fcn.0041e9c0
cmp dword [esp + 0x1d0], 8
mov ecx, dword [esp + 0x1bc]
jae 0x413996
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
lea eax, [ebp + 0x8f4]
mov edi, 8
cmp dword [eax + 0x14], edi
jb 0x4139c2
mov eax, dword [eax]
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, dword [ebp + 0x54]
mov ecx, dword [ecx + 0x14]
lea esi, [ebp + 0x8d4]
push esi
mov edx, eax
call fcn.00433b40
xor ecx, ecx
cmp eax, ecx
jne 0x413a35
xor edx, edx
mov dword [esp + 0x1d0], 7
mov dword [esp + 0x1cc], ecx
mov word [esp + 0x1bc], dx
sub esp, 0x1c
mov ecx, esi
mov byte [esp + 0x1c40], 0xc
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.250_CWD_successful.___s__is_current_directory.
lea edx, [esp + 0x1dc]
call fcn.0041e9c0
cmp dword [esp + 0x1d0], edi
jmp 0x413986
test al, 1
je 0x413a8f
xor eax, eax
mov dword [esp + 0x1d0], 7
mov dword [esp + 0x1cc], ecx
mov word [esp + 0x1bc], ax
sub esp, 0x1c
mov byte [esp + 0x1c40], 0xd
lea ecx, [esp + 0x1f4]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.550_CWD_failed.___s_:_Permission_denied.
lea edx, [esp + 0x1dc]
call fcn.0041e9c0
cmp dword [esp + 0x1d0], edi
jmp 0x413986
test al, 0x20
je 0x413ae9
mov dword [esp + 0x1cc], ecx
xor ecx, ecx
mov dword [esp + 0x1d0], 7
mov word [esp + 0x1bc], cx
sub esp, 0x1c
mov byte [esp + 0x1c40], 0xe
lea ecx, [esp + 0x1f4]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.550_CWD_failed.___s_:_Filename_invalid.
lea edx, [esp + 0x1dc]
call fcn.0041e9c0
cmp dword [esp + 0x1d0], edi
jmp 0x413986
lea eax, [esp + 0x1bc]
call fcn.00404520
sub esp, 0x1c
mov byte [esp + 0x1c40], 0xf
lea ecx, [esp + 0x1f4]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.550_CWD_failed.___s_:_directory_not_found.
lea edx, [esp + 0x1dc]
call fcn.0041e9c0
mov ecx, dword [esp + 0x1bc]
cmp dword [esp + 0x1d0], edi
jae 0x413b3a
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
lea eax, [esp + 0x1bc]
call fcn.00404520
sub esp, 0x1c
mov byte [esp + 0x1c40], 0x10
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.257___s__is_current_directory.
lea edx, [esp + 0x1dc]
call fcn.0041e9c0
cmp dword [esp + 0x1d0], 8
mov ecx, dword [esp + 0x1bc]
jae 0x413ba5
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
mov eax, ebp
call fcn.0040cb00
cmp eax, 2
je 0x413bd5
mov ecx, str.500_You_are_connected_using_IPv6._PORT_is_only_for_IPv4._You_have_to_use_the_EPRT_command_instead.
jmp 0x419566
xor esi, esi
cmp dword [ebp + 0x964], esi
je 0x413c6a
push 0x482fa4
lea edx, [esp + 0x150]
push edx
call fcn.00420c00
push 0x482fa4
lea eax, [esp + 0xe0]
push eax
mov byte [esp + 0x1c2c], 0x11
call fcn.00420c00
push edi
push edi
push esi
push esi
lea ecx, [esp + 0x15c]
push ecx
lea edx, [esp + 0xf0]
push edx
push esi
push ebp
mov byte [esp + 0x1c44], 0x12
call fcn.0041b6e0
lea ecx, [esp + 0xdc]
call fcn.004044f0
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1c24], 1
call fcn.004044f0
mov ecx, dword [ebp + 0x964]
cmp ecx, esi
je 0x413c64
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [ebp + 0x964], esi
push 0x47fcbc
lea eax, [esp + 0x1dc]
push eax
mov eax, 0x47fcb8
call fcn.0041cd70
push esi
lea ecx, [esp + 0x1dc]
push ecx
mov edx, 0x47fcb8
call fcn.0041cb90
cmp eax, edi
je 0x413cbe
jmp 0x413ca0
inc eax
push eax
lea edx, [esp + 0x1dc]
push edx
mov edx, 0x47fcb8
inc esi
call fcn.0041cb90
cmp eax, edi
jne 0x413ca0
cmp esi, 5
je 0x413cd7
push 1
mov ecx, str.501_Syntax_error
mov esi, ebp
call fcn.00412bc0
mov dword [ebp + 0x930], edi
jmp 0x41956f
lea eax, [esp + 0x1f4]
call fcn.00404520
mov eax, 0x2e
lea ebx, [esp + 0x1d8]
mov byte [esp + 0x1c24], 0x13
call fcn.0041ced0
mov edx, dword [esp + 0x1e8]
mov ebx, eax
sub edx, ebx
lea eax, [esp + 0x1d8]
dec edx
push eax
lea edi, [esp + 0x78c]
call fcn.0041cef0
cmp dword [eax + 0x14], 8
jb 0x413d24
mov eax, dword [eax]
push eax
call fcn.0045a7ab
add esp, 4
lea ecx, [esp + 0x788]
mov esi, eax
call fcn.004044f0
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, ebx
lea edi, [esp + 0x444]
call fcn.00404dd0
mov edi, eax
lea eax, [esp + 0x1d8]
mov byte [esp + 0x1c24], 0x14
call fcn.00402ba0
lea ecx, [esp + 0x440]
mov byte [esp + 0x1c24], 0x13
call fcn.004044f0
mov eax, 0x2e
lea ebx, [esp + 0x1d8]
call fcn.0041ced0
mov edx, dword [esp + 0x1e8]
mov ebx, eax
sub edx, ebx
lea eax, [esp + 0x1d8]
dec edx
push eax
lea edi, [esp + 0x94c]
call fcn.0041cef0
cmp dword [eax + 0x14], 8
jb 0x413db4
mov eax, dword [eax]
push eax
call fcn.0045a7ab
shl eax, 8
add esi, eax
add esp, 4
lea ecx, [esp + 0x948]
mov dword [esp + 0x1c], esi
call fcn.004044f0
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, ebx
lea edi, [esp + 0x47c]
call fcn.00404dd0
mov edi, eax
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0x15
call fcn.00402ba0
lea ecx, [esp + 0x478]
mov byte [esp + 0x1c24], 0x13
call fcn.004044f0
lea edx, [esp + 0x1f4]
lea ecx, [esp + 0x7c0]
call fcn.004210e0
cmp dword [eax + 0x14], 0x10
jb 0x413e2d
mov eax, dword [eax]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
lea esi, [esp + 0x7c0]
mov edi, eax
call fcn.00420e00
cmp edi, 0xffffffff
jne 0x414010
lea eax, [esp + 0x1bc]
call fcn.00404520
push 0x47fcb8
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x1c28], 0x16
call fcn.004054a0
add esp, 4
mov eax, 0x2e
lea edx, [esp + 0x1f4]
call fcn.00404da0
mov ebx, eax
cmp ebx, edi
je 0x413f7d
mov edi, edi
lea eax, [esp + 0x210]
call fcn.00404520
lea edx, [esp + 0x1f4]
push edx
mov ecx, ebx
lea edi, [esp + 0x4b4]
mov byte [esp + 0x1c28], 0x17
call fcn.00404dd0
mov byte [esp + 0x1c24], 0x18
cmp dword [eax + 0x14], 8
jb 0x413eca
mov eax, dword [eax]
push eax
call fcn.0045a7ab
add esp, 4
push eax
push 0x47fcc0
lea edx, [esp + 0x218]
call fcn.0041ee70
add esp, 8
lea ecx, [esp + 0x4b0]
mov byte [esp + 0x1c24], 0x17
call fcn.004044f0
push 0
lea eax, [esp + 0x214]
push eax
or eax, 0xffffffff
lea esi, [esp + 0x1c4]
call fcn.00405280
lea ecx, [ebx + 1]
lea eax, [esp + 0xa28]
lea edx, [esp + 0x1f4]
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0x19
call fcn.00402ba0
lea ecx, [esp + 0xa28]
call fcn.004044f0
mov eax, 0x2e
lea edx, [esp + 0x1f4]
call fcn.00404da0
lea ecx, [esp + 0x210]
mov ebx, eax
mov byte [esp + 0x1c24], 0x16
call fcn.004044f0
cmp ebx, 0xffffffff
jne 0x413e90
mov ecx, dword [esp + 0x1cc]
lea edx, [esp + 0x1bc]
dec ecx
push edx
lea edi, [esp + 0x4ec]
call fcn.00404dd0
mov edi, eax
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0x1a
call fcn.00402ba0
lea ecx, [esp + 0x4e8]
mov byte [esp + 0x1c24], 0x16
call fcn.004044f0
lea edx, [esp + 0x1f4]
lea ecx, [esp + 0x7f8]
call fcn.004210e0
cmp dword [eax + 0x14], 0x10
jb 0x413fde
mov eax, dword [eax]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
lea esi, [esp + 0x7f8]
mov edi, eax
call fcn.00420e00
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x1c24], 0x13
call fcn.004044f0
cmp edi, 0xffffffff
je 0x414104
mov esi, dword [esp + 0x1c]
lea eax, [esi - 1]
cmp eax, 0xfffe
ja 0x414104
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx + 0x18]
push edx
mov eax, 0x36
call fcn.0042c450
or eax, edx
je 0x4140be
lea eax, [esp + 0x1bc]
call fcn.00404520
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x1c28], 0x1b
push ecx
mov eax, ebp
mov dword [esp + 0x24], 0
call fcn.0040a1d0
test eax, eax
je 0x4140aa
lea edx, [esp + 0x1f4]
push edx
call fcn.00426a60
add esp, 4
test al, al
jne 0x4140aa
lea eax, [esp + 0x1bc]
push eax
call fcn.00426a60
add esp, 4
test al, al
je 0x4140aa
lea edi, [esp + 0x1bc]
lea eax, [esp + 0x1f4]
call fcn.00402ba0
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x1c24], 0x13
call fcn.004044f0
lea eax, [ebp + 0x944]
lea edi, [esp + 0x1f4]
call fcn.00402ba0
mov dword [ebp + 0x960], esi
push 1
mov ecx, 0x47fcc8
mov esi, ebp
mov dword [ebp + 0x930], 0
mov dword [ebp + 0x96c], 2
call fcn.00412bc0
mov ecx, edi
call fcn.004044f0
jmp 0x41956f
push 1
mov ecx, str.501_Syntax_error
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1f4]
mov dword [ebp + 0x930], 0xffffffff
call fcn.004044f0
jmp 0x41956f
mov eax, ebp
call fcn.0040cb00
cmp eax, 2
je 0x414143
mov ecx, str.500_You_are_connected_using_IPv6._PASV_is_only_for_IPv4._You_have_to_use_the_EPSV_command_instead.
jmp 0x419566
xor edi, edi
cmp dword [ebp + 0x964], edi
je 0x4141d4
push 0x482fa4
lea ecx, [esp + 0xa8]
push ecx
call fcn.00420c00
push 0x482fa4
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x1c2c], 0x1c
call fcn.00420c00
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push edi
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x128]
push ecx
push edi
push ebp
mov byte [esp + 0x1c44], 0x1d
call fcn.0041b6e0
lea ecx, [esp + 0x114]
call fcn.004044f0
lea ecx, [esp + 0xa4]
mov byte [esp + 0x1c24], 1
call fcn.004044f0
mov ecx, dword [ebp + 0x964]
cmp ecx, edi
je 0x4141d4
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
push 0x130
mov dword [ebp + 0x96c], 2
call fcn.004596f4
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x1c24], 0x1e
cmp eax, edi
je 0x414204
push ebp
push eax
call fcn.0044ee00
jmp 0x414206
xor eax, eax
mov byte [esp + 0x1c24], 1
lea esi, [esp + 0x1bc]
mov ecx, ebp
mov dword [ebp + 0x964], eax
mov ebx, 3
call fcn.0041be20
mov esi, 0x47ca70
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x1c24], 0x1f
call fcn.00403900
test al, al
je 0x414285
mov ecx, dword [ebp + 0x964]
cmp ecx, edi
je 0x414256
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
push 1
mov ecx, str.421_Could_not_create_socket__no_usable_IP_address_found.
mov esi, ebp
mov dword [ebp + 0x964], edi
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
mov dword [ebp + 0x930], 0xffffffff
call fcn.004044f0
jmp 0x41956f
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx + 0x18]
push edx
mov eax, 0x21
call fcn.0042c450
or eax, edx
je 0x4142e3
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0xe
call fcn.0042c450
mov edx, dword [ebp + 0x54]
mov esi, eax
mov eax, dword [edx + 0x18]
push eax
mov eax, 0xf
call fcn.0042c450
cmp esi, eax
jbe 0x4142c8
mov ecx, esi
mov esi, eax
mov eax, ecx
mov ecx, dword [0x491fc4]
cmp ecx, esi
jb 0x4142d6
cmp ecx, eax
jbe 0x4142d8
mov ecx, esi
mov eax, ecx
inc ecx
mov dword [0x491fc4], ecx
jmp 0x4142e5
xor eax, eax
mov ecx, dword [ebp + 0x964]
push edi
push edi
mov esi, 2
mov dword [esp + 0x1c], eax
push eax
lea eax, [esi + 6]
call fcn.00409360
test eax, eax
jne 0x41430c
dec ebx
jne 0x414285
jmp 0x414310
cmp ebx, edi
ja 0x414351
mov ecx, dword [ebp + 0x964]
cmp ecx, edi
je 0x414322
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
push 1
mov ecx, str.421_Could_not_create_socket.
mov esi, ebp
mov dword [ebp + 0x964], edi
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
mov dword [ebp + 0x930], 0xffffffff
call fcn.004044f0
jmp 0x41956f
mov ecx, dword [ebp + 0x7c]
cmp ecx, edi
je 0x414371
call fcn.00408020
test eax, eax
je 0x414371
mov edx, dword [ebp + 0x964]
push edx
mov edi, ecx
call fcn.00450d40
xor edi, edi
mov eax, dword [ebp + 0x80]
cmp eax, edi
je 0x414392
cmp byte [ebp + 0x99c], 0
je 0x414392
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp + 0x964]
call fcn.00450d70
mov esi, dword [ebp + 0x964]
call fcn.0040a600
test eax, eax
jne 0x4143e2
mov ecx, dword [ebp + 0x964]
cmp ecx, edi
je 0x4143b3
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
push 1
mov ecx, str.421_Could_not_create_socket__listening_failed.
mov esi, ebp
mov dword [ebp + 0x964], edi
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
mov dword [ebp + 0x930], 0xffffffff
call fcn.004044f0
jmp 0x41956f
lea eax, [esp + 0x1f4]
call fcn.00404520
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0x20
mov ecx, dword [ebp + 0x964]
push eax
lea eax, [esp + 0x18]
call fcn.0040a340
test eax, eax
je 0x4144bb
push 0x47fcb8
lea ecx, [esp + 0x1c0]
push ecx
mov eax, 0x47fcbc
call fcn.0041cd70
lea eax, [esp + 0x210]
call fcn.00404520
mov byte [esp + 0x1c24], 0x21
mov eax, dword [esp + 0x14]
movzx edx, al
shr eax, 8
cmp dword [esp + 0x1c], 0x2c
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x214]
mov dword [esp + 0x18], edx
lea eax, [esp + 0x1c0]
jne 0x414473
push str.227_Warning:_Router_with_P_SW_bug_detected._Entering_Passive_Mode___s__d__d_
jmp 0x414478
push str.227_Entering_Passive_Mode___s__d__d_
push ecx
lea ecx, [esp + 0x20]
call fcn.0041ea30
cmp dword [esp + 0x224], 8
mov ecx, dword [esp + 0x210]
jae 0x41449a
lea ecx, [esp + 0x210]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x210]
mov dword [ebp + 0x930], 1
call fcn.004044f0
jmp 0x4144eb
mov ecx, dword [ebp + 0x964]
cmp ecx, edi
je 0x4144cd
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
push 1
mov ecx, str.421_Could_not_create_socket__unable_to_query_socket_for_used_port.
mov esi, ebp
mov dword [ebp + 0x964], edi
call fcn.00412bc0
mov dword [ebp + 0x930], 0xffffffff
lea ecx, [esp + 0x1f4]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
lea ecx, [esp + 0x1d8]
push ecx
call fcn.0041cca0
mov edx, dword [esp + 0x1ec]
mov eax, dword [esp + 0x1d8]
mov ecx, eax
cmp edx, 8
jae 0x414531
lea ecx, [esp + 0x1d8]
cmp word [ecx], 0x49
mov ebx, 0x41
je 0x41457c
mov ecx, eax
cmp edx, 8
jae 0x41454a
lea ecx, [esp + 0x1d8]
cmp word [ecx], bx
je 0x41457c
mov esi, 0x480050
lea ecx, [esp + 0x1d8]
call fcn.0041ea60
test al, al
je 0x41456e
mov ecx, str.501_Unsupported_type._Supported_types_are_I__A_and_L_8
jmp 0x419566
mov edx, dword [esp + 0x1ec]
mov eax, dword [esp + 0x1d8]
cmp edx, 8
jae 0x414588
lea eax, [esp + 0x1d8]
xor edx, edx
cmp word [eax], bx
lea eax, [esp + 0x1bc]
sete dl
mov dword [ebp + 0x940], edx
call fcn.00404520
sub esp, 0x1c
mov byte [esp + 0x1c40], 0x22
lea ecx, [esp + 0x1f4]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.200_Type_set_to__s
lea edx, [esp + 0x1dc]
call fcn.0041e9c0
cmp dword [esp + 0x1d0], 8
mov ecx, dword [esp + 0x1bc]
jae 0x4145e8
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
mov eax, dword [ebp + 0x930]
cmp eax, edi
jne 0x414616
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
test eax, eax
jne 0x414640
lea ecx, [ebp + 0x944]
mov esi, 0x47ca70
call fcn.00403900
test al, al
jne 0x414636
cmp dword [ebp + 0x960], edi
jne 0x414640
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
cmp dword [ebp + 0x80], 0
je 0x414671
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0x32
call fcn.0042c450
or eax, edx
je 0x414671
cmp byte [ebp + 0x99c], 0
jne 0x414671
mov ecx, str.521_PROT_P_required
jmp 0x419566
lea eax, [esp + 0x22c]
call fcn.00404520
mov edx, 0x47caa4
lea eax, [esp + 0x1d8]
mov byte [esp + 0x1c24], 0x23
call fcn.0041cff0
mov edx, 0x47caa4
lea eax, [esp + 0x1d8]
call fcn.00402be0
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.0041ea60
test al, al
je 0x414981
mov dword [esp + 0x14], 0
jmp 0x4146d0
cmp dword [esp + 0x1ec], 8
mov eax, dword [esp + 0x1d8]
jae 0x4146e8
lea eax, [esp + 0x1d8]
cmp word [eax], 0x2d
jne 0x414912
cmp dword [esp + 0x1e8], 2
jl 0x4148ee
mov eax, 0x20
lea edx, [esp + 0x1d8]
call fcn.00404da0
mov esi, eax
lea eax, [esp + 0x1f4]
call fcn.00404520
mov bl, 0x24
mov byte [esp + 0x1c24], bl
cmp esi, 0xffffffff
je 0x414805
lea edx, [esp + 0x1d8]
push edx
mov ecx, 1
lea edi, [esp + 0x524]
call fcn.00404dd0
mov edi, eax
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0x25
call fcn.00402ba0
lea ecx, [esp + 0x520]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
lea eax, [esp + 0x1f4]
lea ecx, [esi - 1]
push eax
lea edi, [esp + 0x984]
call fcn.00404dd0
mov edi, eax
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0x26
call fcn.00402ba0
lea ecx, [esp + 0x980]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
lea ecx, [esi + 1]
lea eax, [esp + 0x558]
lea edx, [esp + 0x1d8]
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1d8]
mov byte [esp + 0x1c24], 0x27
call fcn.00402ba0
lea ecx, [esp + 0x558]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
mov edx, 0x47caa4
lea eax, [esp + 0x1d8]
call fcn.0041cff0
jmp 0x41481b
push 0x47ca70
lea ebx, [esp + 0x1dc]
call fcn.00406760
add esp, 4
mov bl, 0x24
mov esi, 0x47ca70
lea ecx, [esp + 0x1f4]
call fcn.0041ea60
test al, al
je 0x4148c0
cmp dword [esp + 0x208], 8
mov eax, dword [esp + 0x1f4]
jae 0x41484c
lea eax, [esp + 0x1f4]
cmp word [eax], 0x52
je 0x4148aa
mov ecx, 1
lea eax, [esp + 0x360]
lea edx, [esp + 0x1f4]
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0x28
call fcn.00402ba0
lea ecx, [esp + 0x360]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
mov esi, 0x47ca70
lea ecx, [esp + 0x1f4]
call fcn.0041ea60
test al, al
jne 0x414834
jmp 0x4148c0
push 1
mov ecx, str.504_Command_not_implemented_for_that_parameter
mov esi, ebp
call fcn.00412bc0
mov dword [esp + 0x14], 1
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.00403900
mov byte [esp + 0x1c24], 0x23
lea ecx, [esp + 0x1f4]
test al, al
jne 0x41490d
call fcn.004044f0
jmp 0x4146d0
push 1
mov ecx, str.501_Syntax_error
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x22c]
call fcn.004044f0
jmp 0x41956f
call fcn.004044f0
cmp dword [esp + 0x14], 0
je 0x41492a
lea ecx, [esp + 0x22c]
call fcn.004044f0
jmp 0x41956f
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.0041ea60
test al, al
je 0x414981
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x41496e
push 1
mov ecx, str.501_Syntax_error
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x22c]
call fcn.004044f0
jmp 0x41956f
lea edi, [esp + 0x1d8]
lea eax, [esp + 0x22c]
call fcn.00402ba0
lea eax, [esp + 0x1bc]
call fcn.00404520
lea eax, [esp + 0x210]
call fcn.00404520
mov byte [esp + 0x1c24], 0x2a
movzx ecx, byte [ebp + 0x99d]
push 0
push ecx
lea edx, [esp + 0x218]
push edx
lea eax, [esp + 0x20]
push eax
sub esp, 0x1c
lea ecx, [esp + 0x258]
mov esi, esp
mov edi, 0x42fed0
lea ebx, [esp + 0x1e8]
mov dword [esp + 0x48], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c6c], 0x2b
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x5c], esp
call fcn.004044c0
cmp dword [ebp + 0x908], 8
lea eax, [ebp + 0x8f4]
jb 0x414a06
mov eax, dword [eax]
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx + 0x14]
push eax
push edx
mov edx, edi
mov ecx, ebx
mov byte [esp + 0x1c74], 0x2a
call fcn.00430920
test al, 1
je 0x414a5f
mov ecx, str.550_Permission_denied.
push 1
mov esi, ebp
call fcn.00412bc0
call fcn.0041a440
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
lea ecx, [esp + 0x22c]
call fcn.004044f0
jmp 0x41956f
test al, 0x20
je 0x414a6a
mov ecx, str.550_Filename_invalid.
jmp 0x414a28
test eax, eax
je 0x414a75
mov ecx, str.550_Directory_not_found.
jmp 0x414a28
cmp dword [ebp + 0x930], 0
jne 0x414c52
cmp dword [ebp + 0x964], 0
je 0x414b0c
push 0x482fa4
lea eax, [esp + 0x8c]
push eax
call fcn.00420c00
push 0x482fa4
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x1c2c], 0x2c
call fcn.00420c00
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
lea edx, [esp + 0x98]
push edx
lea eax, [esp + 0x48]
push eax
push 0
push ebp
mov byte [esp + 0x1c44], 0x2d
call fcn.0041b6e0
lea ecx, [esp + 0x34]
call fcn.004044f0
lea ecx, [esp + 0x88]
mov byte [esp + 0x1c24], 0x2a
call fcn.004044f0
mov ecx, dword [ebp + 0x964]
test ecx, ecx
je 0x414b0c
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
push 0x130
call fcn.004596f4
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1c24], 0x2e
test eax, eax
je 0x414b34
push ebp
push eax
call fcn.0044ee00
mov esi, eax
jmp 0x414b36
xor esi, esi
mov byte [esp + 0x1c24], 0x2a
mov ecx, dword [esp + 0x14]
push 1
push ecx
mov dword [ebp + 0x964], esi
call fcn.0044ef60
cmp dword [ebp + 0x990], 1
jne 0x414b73
mov edx, dword [ebp + 0x994]
push edx
call fcn.00450f90
test al, al
jne 0x414b73
mov ecx, str.550_could_not_initialize_zlib__please_use_MODE_S_instead
jmp 0x414a28
push ebp
mov ebx, esi
call fcn.0041b110
test eax, eax
je 0x414a36
lea edx, [esp + 0x210]
lea ecx, [esp + 0xa7c]
call fcn.004210e0
lea ecx, [esp + 0x344]
push ecx
mov edx, eax
mov byte [esp + 0x1c28], 0x2f
call fcn.00420ba0
lea edx, [esp + 0x1bc]
lea ecx, [esp + 0x590]
mov byte [esp + 0x1c24], 0x30
call fcn.004210e0
lea edx, [esp + 0x264]
push edx
mov edx, eax
mov byte [esp + 0x1c28], 0x31
call fcn.00420ba0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
lea eax, [esp + 0x354]
push eax
lea ecx, [esp + 0x278]
push ecx
push 1
push ebp
mov byte [esp + 0x1c44], 0x32
call fcn.0041b6e0
lea ecx, [esp + 0x264]
call fcn.004044f0
lea esi, [esp + 0x590]
call fcn.00420e00
lea ecx, [esp + 0x344]
call fcn.004044f0
lea esi, [esp + 0xa7c]
mov byte [esp + 0x1c24], 0x2a
call fcn.00420e00
push 1
mov ecx, str.150_Opening_data_channel_for_directory_list.
mov esi, ebp
call fcn.00412bc0
jmp 0x414a36
mov esi, dword [ebp + 0x964]
test esi, esi
jne 0x414c78
mov eax, dword [esp + 0x14]
call fcn.0043c5d0
push 1
mov ecx, str.503_Bad_sequence_of_commands.
mov esi, ebp
call fcn.00412bc0
jmp 0x414a36
mov edx, dword [esp + 0x14]
push 1
push edx
call fcn.0044ef60
cmp dword [ebp + 0x990], 1
jne 0x414cad
mov eax, dword [ebp + 0x994]
mov esi, dword [ebp + 0x964]
push eax
call fcn.00450f90
test al, al
jne 0x414cad
mov ecx, str.550_could_not_initialize_zlib__please_use_MODE_S_instead
jmp 0x414a28
lea edx, [esp + 0x210]
lea ecx, [esp + 0x868]
call fcn.004210e0
lea ecx, [esp + 0x2b8]
push ecx
mov edx, eax
mov byte [esp + 0x1c28], 0x33
call fcn.00420ba0
lea edx, [esp + 0x1bc]
lea ecx, [esp + 0x5c8]
mov byte [esp + 0x1c24], 0x34
call fcn.004210e0
lea edx, [esp + 0x2f0]
push edx
mov edx, eax
mov byte [esp + 0x1c28], 0x35
call fcn.00420ba0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
lea eax, [esp + 0x2c8]
push eax
lea ecx, [esp + 0x304]
push ecx
push 1
push ebp
mov byte [esp + 0x1c44], 0x36
call fcn.0041b6e0
lea ecx, [esp + 0x2f0]
call fcn.004044f0
lea esi, [esp + 0x5c8]
call fcn.00420e00
lea ecx, [esp + 0x2b8]
call fcn.004044f0
lea esi, [esp + 0x868]
mov byte [esp + 0x1c24], 0x2a
call fcn.00420e00
mov esi, dword [ebp + 0x964]
call fcn.00450430
jmp 0x414a36
mov edx, dword [esp + 0x1e8]
mov esi, dword [esp + 0x1ec]
mov edi, dword [esp + 0x1d8]
xor eax, eax
test edx, edx
jle 0x414dcb
mov ecx, edi
cmp esi, 8
jae 0x414da2
lea ecx, [esp + 0x1d8]
cmp word [ecx + eax*2], 0x30
jb 0x414e68
mov ecx, edi
cmp esi, 8
jae 0x414dbb
lea ecx, [esp + 0x1d8]
cmp word [ecx + eax*2], 0x39
ja 0x414e68
inc eax
cmp eax, edx
jl 0x414d94
mov eax, edi
cmp esi, 8
jae 0x414dd9
lea eax, [esp + 0x1d8]
push eax
call fcn.0045a7b6
mov dword [ebp + 0x93c], edx
xor edx, edx
add esp, 4
mov dword [ebp + 0x938], eax
mov dword [esp + 0x1d0], 7
mov dword [esp + 0x1cc], 0
mov word [esp + 0x1bc], dx
mov byte [esp + 0x1c24], 0x37
mov eax, dword [ebp + 0x93c]
mov ecx, dword [ebp + 0x938]
push eax
push ecx
lea edx, [esp + 0x1c4]
push edx
mov edx, str.350_Rest_supported._Restarting_at__I64d
call fcn.0041ea90
cmp dword [esp + 0x1d0], 8
mov ecx, dword [esp + 0x1bc]
jae 0x414e4e
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
mov ecx, str.501_Bad_parameter._Numeric_value_required
jmp 0x419566
push 0x480388
lea eax, [esp + 0x214]
push eax
call fcn.00406860
lea eax, [ebp + 0x8f4]
mov edi, 8
mov byte [esp + 0x1c24], 0x38
cmp dword [eax + 0x14], edi
jb 0x414e9e
mov eax, dword [eax]
lea ecx, [esp + 0x210]
push ecx
mov ecx, dword [ebp + 0x54]
mov ecx, dword [ecx + 0x14]
lea esi, [ebp + 0x8d4]
push esi
mov edx, eax
call fcn.00433b40
test eax, eax
jne 0x414f30
lea eax, [esp + 0x1bc]
call fcn.00404520
sub esp, 0x1c
mov ecx, esi
mov byte [esp + 0x1c40], 0x39
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.200_CDUP_successful.___s__is_current_directory.
lea edx, [esp + 0x1dc]
call fcn.0041e9c0
mov ecx, dword [esp + 0x1bc]
cmp dword [esp + 0x1d0], edi
jae 0x414f0a
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
test al, 1
je 0x414f53
mov ecx, str.550_CDUP_failed__permission_denied.
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
mov ecx, str.550_CDUP_failed__filename_invalid.
test al, 0x20
jne 0x414f61
mov ecx, str.550_CDUP_failed__directory_not_found.
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
mov eax, dword [ebp + 0x930]
cmp eax, edi
jne 0x414f8f
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
test eax, eax
jne 0x414fb9
lea ecx, [ebp + 0x944]
mov esi, 0x47ca70
call fcn.00403900
test al, al
jne 0x414faf
cmp dword [ebp + 0x960], edi
jne 0x414fb9
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
cmp dword [ebp + 0x80], 0
je 0x414fea
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x32
call fcn.0042c450
or eax, edx
je 0x414fea
cmp byte [ebp + 0x99c], 0
jne 0x414fea
mov ecx, str.521_PROT_P_required
jmp 0x419566
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x415004
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x1f4]
call fcn.00404520
lea eax, [esp + 0x1bc]
call fcn.00404520
lea ecx, [esp + 0x1bc]
push ecx
lea edx, [esp + 0x1f8]
push edx
push 1
sub esp, 0x1c
mov ebx, 0x3b
mov byte [esp + 0x1c4c], bl
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x44], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c68], 0x3c
lea ecx, [esp + 0x21c]
mov esi, esp
mov dword [esp + 0x58], esp
call fcn.004044c0
cmp dword [ebp + 0x908], 8
lea eax, [ebp + 0x8f4]
jb 0x41507c
mov eax, dword [eax]
mov ecx, dword [ebp + 0x54]
mov byte [esp + 0x1c68], bl
mov ecx, dword [ecx + 0x14]
mov edx, eax
call fcn.004324d0
test al, 1
je 0x41509e
mov ecx, str.550_Permission_denied
jmp 0x4151ca
test al, 0x20
je 0x4150ac
mov ecx, str.550_Filename_invalid.
jmp 0x4151ca
test eax, eax
je 0x4150ba
mov ecx, str.550_File_not_found
jmp 0x4151ca
cmp dword [ebp + 0x930], 0
jne 0x41529e
cmp dword [ebp + 0x964], 0
je 0x415157
push 0x482fa4
lea edx, [esp + 0x134]
push edx
call fcn.00420c00
push 0x482fa4
lea eax, [esp + 0xfc]
push eax
mov byte [esp + 0x1c2c], 0x3d
call fcn.00420c00
push edi
push edi
push 0
push 0
lea ecx, [esp + 0x140]
push ecx
lea edx, [esp + 0x10c]
push edx
push 0
push ebp
mov byte [esp + 0x1c44], 0x3e
call fcn.0041b6e0
lea ecx, [esp + 0xf8]
call fcn.004044f0
lea ecx, [esp + 0x130]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
mov ecx, dword [ebp + 0x964]
test ecx, ecx
je 0x415157
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
push 0x130
call fcn.004596f4
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1c24], 0x3f
test eax, eax
je 0x41517f
push ebp
push eax
call fcn.0044ee00
mov esi, eax
jmp 0x415181
xor esi, esi
mov byte [esp + 0x1c24], bl
mov eax, dword [ebp + 0x93c]
mov ecx, dword [ebp + 0x938]
push eax
push ecx
push 3
lea ebx, [esp + 0x200]
mov edi, esi
mov dword [ebp + 0x964], esi
call fcn.0044efd0
cmp dword [ebp + 0x990], 1
jne 0x4151f5
mov edx, dword [ebp + 0x994]
push edx
call fcn.00450f90
test al, al
jne 0x4151f5
mov ecx, str.550_could_not_initialize_zlib__please_use_MODE_S_instead
push 1
mov esi, ebp
call fcn.00412bc0
call fcn.0041a440
lea ecx, [esp + 0x1bc]
call fcn.004044f0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
jmp 0x41956f
push ebp
mov ebx, esi
call fcn.0041b110
test eax, eax
jne 0x41521e
lea ecx, [esp + 0x1bc]
call fcn.004044f0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
jmp 0x41956f
cmp dword [esp + 0x208], 8
mov eax, dword [esp + 0x1f4]
jae 0x415236
lea eax, [esp + 0x1f4]
push eax
lea esi, [esp + 0x20]
call fcn.00429810
add esp, 4
test eax, eax
jne 0x41524e
or ecx, 0xffffffff
or eax, ecx
jmp 0x415256
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [ebp + 0x93c]
push ecx
mov ecx, dword [ebp + 0x938]
push eax
push ecx
lea edx, [esp + 0x1cc]
push edx
lea eax, [esp + 0x208]
push eax
push 3
push ebp
call fcn.0041b6e0
push 1
mov ecx, str.150_Opening_data_channel_for_file_transfer.
mov esi, ebp
call fcn.00412bc0
lea edx, [ebp + 0x8b4]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
jmp 0x4151d8
mov edi, dword [ebp + 0x964]
test edi, edi
jne 0x4152d3
push 1
mov ecx, str.503_Bad_sequence_of_commands.
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
jmp 0x41956f
mov ecx, dword [ebp + 0x93c]
mov edx, dword [ebp + 0x938]
push ecx
push edx
push 3
lea ebx, [esp + 0x200]
call fcn.0044efd0
cmp dword [ebp + 0x990], 1
jne 0x415312
mov eax, dword [ebp + 0x994]
mov esi, dword [ebp + 0x964]
push eax
call fcn.00450f90
test al, al
je 0x4151c5
cmp dword [esp + 0x208], 8
mov eax, dword [esp + 0x1f4]
jae 0x41532a
lea eax, [esp + 0x1f4]
push eax
lea esi, [esp + 0x20]
call fcn.00429810
add esp, 4
test eax, eax
jne 0x415342
or ecx, 0xffffffff
or eax, ecx
jmp 0x41534a
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebp + 0x938]
push eax
push ecx
mov ecx, dword [ebp + 0x93c]
push ecx
push edx
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x208]
push ecx
push 3
push ebp
call fcn.0041b6e0
mov esi, dword [ebp + 0x964]
call fcn.00450430
lea edx, [ebp + 0x8b4]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
jmp 0x4151d8
mov eax, dword [ebp + 0x930]
cmp eax, edi
jne 0x4153a3
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
test eax, eax
jne 0x4153cd
lea ecx, [ebp + 0x944]
mov esi, 0x47ca70
call fcn.00403900
test al, al
jne 0x4153c3
cmp dword [ebp + 0x960], edi
jne 0x4153cd
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
cmp dword [ebp + 0x80], 0
je 0x4153fe
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0x32
call fcn.0042c450
or eax, edx
je 0x4153fe
cmp byte [ebp + 0x99c], 0
jne 0x4153fe
mov ecx, str.521_PROT_P_required
jmp 0x419566
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x415418
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x1bc]
call fcn.00404520
lea eax, [esp + 0x210]
call fcn.00404520
mov ebx, 0x41
mov byte [esp + 0x1c24], bl
mov edx, dword [ebp + 0x938]
or edx, dword [ebp + 0x93c]
lea eax, [ebx - 0x39]
jne 0x415450
lea eax, [ebx - 0x3f]
lea ecx, [esp + 0x210]
push ecx
lea edx, [esp + 0x1c0]
push edx
push eax
sub esp, 0x1c
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x44], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c68], 0x42
lea ecx, [esp + 0x21c]
mov esi, esp
mov dword [esp + 0x58], esp
call fcn.004044c0
cmp dword [ebp + 0x908], 8
lea eax, [ebp + 0x8f4]
jb 0x4154a3
mov eax, dword [eax]
mov ecx, dword [ebp + 0x54]
mov byte [esp + 0x1c68], bl
mov ecx, dword [ecx + 0x14]
mov edx, eax
call fcn.004324d0
test al, 1
je 0x4154c5
mov ecx, str.550_Permission_denied
jmp 0x415561
test al, 0x20
je 0x4154d3
mov ecx, str.550_Filename_invalid.
jmp 0x415561
test eax, eax
je 0x4154e1
mov ecx, str.550_Filename_invalid
jmp 0x415561
cmp dword [ebp + 0x930], 0
jne 0x4155e3
push 0x130
call fcn.004596f4
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1c24], 0x43
test eax, eax
je 0x415516
push ebp
push eax
call fcn.0044ee00
mov esi, eax
jmp 0x415518
xor esi, esi
mov byte [esp + 0x1c24], bl
mov edx, dword [ebp + 0x93c]
mov eax, dword [ebp + 0x938]
push edx
push eax
push 2
lea ebx, [esp + 0x1c8]
mov edi, esi
call fcn.0044efd0
cmp dword [ebp + 0x990], 1
mov dword [ebp + 0x964], esi
jne 0x41558c
mov ecx, dword [ebp + 0x994]
push ecx
call fcn.00450f90
test al, al
jne 0x41558c
mov ecx, str.550_could_not_initialize_zlib__please_use_MODE_S_instead
push 1
mov esi, ebp
call fcn.00412bc0
call fcn.0041a440
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
push ebp
mov ebx, esi
call fcn.0041b110
lea ecx, [esp + 0x210]
test eax, eax
je 0x4144f2
mov edx, dword [ebp + 0x93c]
mov eax, dword [ebp + 0x938]
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push eax
push ecx
lea edx, [esp + 0x1d0]
push edx
push 2
push ebp
call fcn.0041b6e0
push 1
mov ecx, str.150_Opening_data_channel_for_file_transfer.
mov esi, ebp
call fcn.00412bc0
lea ecx, [ebp + 0x8b4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
jmp 0x41556f
mov edi, dword [ebp + 0x964]
test edi, edi
jne 0x415618
push 1
mov ecx, str.503_Bad_sequence_of_commands.
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
mov eax, dword [ebp + 0x93c]
mov ecx, dword [ebp + 0x938]
push eax
push ecx
push 2
lea ebx, [esp + 0x1c8]
call fcn.0044efd0
cmp dword [ebp + 0x990], 1
jne 0x415657
mov edx, dword [ebp + 0x994]
mov esi, dword [ebp + 0x964]
push edx
call fcn.00450f90
test al, al
je 0x41555c
mov eax, dword [ebp + 0x93c]
mov ecx, dword [ebp + 0x938]
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push ecx
lea edx, [esp + 0x220]
push edx
lea eax, [esp + 0x1d0]
push eax
push 2
push ebp
call fcn.0041b6e0
mov esi, dword [ebp + 0x964]
call fcn.00450430
lea ecx, [ebp + 0x8b4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
jmp 0x41556f
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x4156b8
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x210]
call fcn.00404520
lea eax, [esp + 0x1f4]
call fcn.00404520
lea edx, [esp + 0x1f4]
push edx
lea eax, [esp + 0x214]
push eax
push 0x80
sub esp, 0x1c
mov bl, 0x45
mov byte [esp + 0x1c4c], bl
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x44], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c68], 0x46
lea ecx, [esp + 0x21c]
mov esi, esp
mov dword [esp + 0x58], esp
call fcn.004044c0
lea eax, [ebp + 0x8f4]
mov edi, 8
cmp dword [eax + 0x14], edi
jb 0x415731
mov eax, dword [eax]
mov ecx, dword [ebp + 0x54]
mov byte [esp + 0x1c68], bl
mov ecx, dword [ecx + 0x14]
mov edx, eax
call fcn.004324d0
test al, 1
je 0x415774
push 1
mov ecx, str.550_Permission_denied
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
test al, 0x20
je 0x4157a3
push 1
mov ecx, str.550_Filename_invalid.
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
test eax, eax
je 0x4157d2
push 1
mov ecx, str.550_File_not_found
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
lea eax, [esp + 0x1bc]
call fcn.00404520
mov byte [esp + 0x1c24], 0x47
mov eax, dword [esp + 0x210]
cmp dword [esp + 0x224], edi
jae 0x4157fd
lea eax, [esp + 0x210]
push eax
lea esi, [esp + 0x20]
call fcn.00429810
add esp, 4
test eax, eax
je 0x41582c
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x1c4]
push ecx
mov edx, str.213__I64d
call fcn.0041ea90
jmp 0x415845
push str.550_File_not_found
lea ebx, [esp + 0x1c0]
call fcn.00406760
add esp, 4
mov edi, 8
mov ecx, dword [esp + 0x1bc]
cmp dword [esp + 0x1d0], edi
jae 0x41585c
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x4158a8
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x1f4]
call fcn.00404520
lea eax, [esp + 0x1bc]
call fcn.00404520
lea edx, [esp + 0x1bc]
push edx
lea eax, [esp + 0x1f8]
push eax
push 4
sub esp, 0x1c
mov bl, 0x49
mov byte [esp + 0x1c4c], bl
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x44], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c68], 0x4a
lea ecx, [esp + 0x21c]
mov esi, esp
mov dword [esp + 0x58], esp
call fcn.004044c0
lea eax, [ebp + 0x8f4]
mov edi, 8
cmp dword [eax + 0x14], edi
jb 0x41591e
mov eax, dword [eax]
mov ecx, dword [ebp + 0x54]
mov byte [esp + 0x1c68], bl
mov ecx, dword [ecx + 0x14]
mov edx, eax
call fcn.004324d0
test al, 1
je 0x415949
mov ecx, str.550_Permission_denied
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x4151d8
test al, 0x20
je 0x415960
mov ecx, str.550_Filename_invalid.
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x4151d8
test eax, eax
je 0x415977
mov ecx, str.550_File_not_found
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x4151d8
mov eax, dword [esp + 0x1f4]
cmp dword [esp + 0x208], edi
jae 0x41598e
lea eax, [esp + 0x1f4]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call esi
cmp eax, 1
sete al
test al, al
jne 0x415a2f
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 5
jne 0x415a1c
mov eax, dword [esp + 0x1f4]
cmp dword [esp + 0x208], edi
jae 0x4159c6
lea eax, [esp + 0x1f4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x415a1c
test al, 1
je 0x415a1c
mov ecx, dword [esp + 0x1f4]
and eax, 0xfffffffe
cmp dword [esp + 0x208], edi
jae 0x4159f0
lea ecx, [esp + 0x1f4]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, dword [esp + 0x1f4]
cmp dword [esp + 0x208], edi
jae 0x415a0f
lea eax, [esp + 0x1f4]
push eax
call esi
cmp eax, 1
sete al
test al, al
jne 0x415a2f
mov ecx, str.500_Failed_to_delete_the_file.
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x4151d8
mov ecx, str.250_File_deleted_successfully
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x4151d8
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x415a5c
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x1bc]
call fcn.00404520
lea eax, [esp + 0x210]
call fcn.00404520
lea edx, [esp + 0x1bc]
push edx
push 0x20
sub esp, 0x1c
mov bl, 0x4c
mov byte [esp + 0x1c48], bl
lea ecx, [ebp + 0x8d4]
mov esi, esp
lea edi, [esp + 0x234]
mov dword [esp + 0x40], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c64], 0x4d
lea ecx, [esp + 0x218]
mov esi, esp
mov dword [esp + 0x54], esp
call fcn.004044c0
lea eax, [ebp + 0x8f4]
mov esi, 8
cmp dword [eax + 0x14], esi
jb 0x415ad1
mov eax, dword [eax]
push eax
mov eax, dword [ebp + 0x54]
mov byte [esp + 0x1c68], bl
mov edx, dword [eax + 0x14]
mov ecx, edi
call fcn.00431a80
test al, 1
je 0x415afd
mov ecx, str.550_Permission_denied
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
test al, 0x20
je 0x415b14
mov ecx, str.550_Filename_invalid.
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
test eax, eax
je 0x415b2b
mov ecx, str.550_Directory_not_found
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
mov eax, dword [esp + 0x1bc]
cmp dword [esp + 0x1d0], esi
jae 0x415b42
lea eax, [esp + 0x1bc]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x415b7b
call sub.WS2_32.dll_WSAGetLastError
push 1
mov esi, ebp
cmp eax, 0x91
jne 0x415b6c
mov ecx, str.550_Directory_not_empty.
call fcn.00412bc0
jmp 0x41556f
mov ecx, str.450_Internal_error_deleting_the_directory.
call fcn.00412bc0
jmp 0x41556f
mov ecx, str.250_Directory_deleted_successfully
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x415ba8
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x1bc]
call fcn.00404520
lea eax, [esp + 0x22c]
call fcn.00404520
lea ecx, [esp + 0x1bc]
push ecx
push 0x40
sub esp, 0x1c
mov bl, 0x4f
mov byte [esp + 0x1c48], bl
lea ecx, [ebp + 0x8d4]
mov esi, esp
lea edi, [esp + 0x250]
mov dword [esp + 0x40], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c64], 0x50
lea ecx, [esp + 0x218]
mov esi, esp
mov dword [esp + 0x54], esp
call fcn.004044c0
cmp dword [ebp + 0x908], 8
lea eax, [ebp + 0x8f4]
jb 0x415c1c
mov eax, dword [eax]
mov edx, dword [ebp + 0x54]
mov byte [esp + 0x1c64], bl
mov edx, dword [edx + 0x14]
push eax
mov ecx, edi
call fcn.00431a80
test al, 1
je 0x415c60
push 1
mov ecx, str.550_Cant_create_directory._Permission_denied
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x22c]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
test al, 0x20
je 0x415c8f
push 1
mov ecx, str.550_Filename_invalid.
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x22c]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
test al, 0x10
je 0x415cc8
mov ecx, eax
and ecx, 0x18
cmp cl, 0x18
je 0x415cc8
push 1
mov ecx, str.550_Directory_already_exists
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x22c]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
test al, 0x18
je 0x415cf7
push 1
mov ecx, str.550_File_with_same_name_already_exists
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x22c]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
test eax, eax
je 0x415d26
push 1
mov ecx, str.550_Directoryname_not_valid
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x22c]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
lea eax, [esp + 0x210]
call fcn.00404520
push 0x47c9bc
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x1c28], 0x51
call fcn.004054a0
add esp, 4
mov esi, 0x47ca70
lea ecx, [esp + 0x1bc]
call fcn.0041ea60
test al, al
je 0x415e96
jmp 0x415d70
mov eax, 0x5c
lea edx, [esp + 0x1bc]
call fcn.00404da0
lea edx, [esp + 0x1bc]
lea ecx, [eax + 1]
push edx
lea edi, [esp + 0x1f8]
call fcn.00404dd0
mov eax, edi
push eax
mov edx, 2
lea edi, [esp + 0x604]
mov byte [esp + 0x1c28], 0x52
call fcn.0041cef0
mov esi, 0x480858
mov ecx, eax
mov byte [esp + 0x1c24], 0x53
call fcn.00403900
mov ecx, edi
mov bl, al
mov byte [esp + 0x1c24], 0x52
call fcn.004044f0
test bl, bl
jne 0x415ed9
push 0
lea ecx, [esp + 0x1f8]
push ecx
or eax, 0xffffffff
lea esi, [esp + 0x218]
call fcn.00405280
mov eax, 0x5c
lea edx, [esp + 0x1bc]
call fcn.00404da0
lea ecx, [eax + 1]
lea eax, [esp + 0x9b8]
lea edx, [esp + 0x1bc]
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1bc]
mov byte [esp + 0x1c24], 0x54
call fcn.00402ba0
lea ecx, [esp + 0x9b8]
call fcn.004044f0
cmp dword [esp + 0x224], 8
mov eax, dword [esp + 0x210]
jae 0x415e56
mov eax, esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea ecx, [esp + 0x1f4]
mov edi, eax
mov byte [esp + 0x1c24], 0x51
call fcn.004044f0
mov esi, 0x47ca70
lea ecx, [esp + 0x1bc]
call fcn.0041ea60
test al, al
jne 0x415d70
test edi, edi
jne 0x415f26
call sub.WS2_32.dll_WSAGetLastError
push 1
mov esi, ebp
cmp eax, 0xb7
jne 0x415ef3
mov ecx, str.550_Directory_already_exists
call fcn.00412bc0
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x22c]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
push 1
mov ecx, str.550_Directoryname_not_valid
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1f4]
jmp 0x415f8d
mov ecx, str.450_Internal_error_creating_the_directory.
call fcn.00412bc0
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x22c]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
lea edx, [esp + 0x22c]
push edx
lea eax, [esp + 0x8a4]
push eax
mov ebx, str.257__
call fcn.00420c90
lea ecx, [esp + 0x640]
push ecx
mov ebx, str.__created_successfully
mov ecx, eax
mov byte [esp + 0x1c30], 0x55
call fcn.00420980
add esp, 0xc
mov byte [esp + 0x1c24], 0x56
cmp dword [eax + 0x14], 8
jb 0x415f6f
mov eax, dword [eax]
push 1
mov ecx, eax
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x638]
call fcn.004044f0
lea ecx, [esp + 0x8a0]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x22c]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x415fd5
mov ecx, str.501_Syntax_error
jmp 0x419566
lea ebx, [ebp + 0x970]
push 0x47ca70
call fcn.00406760
add esp, 4
lea eax, [esp + 0x1bc]
call fcn.00404520
lea eax, [esp + 0x210]
call fcn.00404520
lea edx, [esp + 0x210]
push edx
lea eax, [esp + 0x1c0]
push eax
push 4
sub esp, 0x1c
mov byte [esp + 0x1c4c], 0x58
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x44], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c68], 0x59
lea ecx, [esp + 0x21c]
mov esi, esp
mov dword [esp + 0x58], esp
call fcn.004044c0
cmp dword [ebp + 0x908], 8
lea edi, [ebp + 0x8f4]
jb 0x41605e
mov edx, dword [edi]
jmp 0x416060
mov edx, edi
mov ecx, dword [ebp + 0x54]
mov byte [esp + 0x1c68], 0x58
mov ecx, dword [ecx + 0x14]
call fcn.004324d0
test eax, eax
jne 0x4160a6
lea edi, [esp + 0x1bc]
lea eax, [ebp + 0x970]
call fcn.00402ba0
push 1
mov ecx, str.350_File_exists__ready_for_destination_name.
mov esi, ebp
mov dword [ebp + 0x98c], 1
call fcn.00412bc0
jmp 0x41556f
test al, 1
je 0x4160bd
mov ecx, str.550_Permission_denied
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
test al, 0x20
je 0x4160d4
mov ecx, str.550_Filename_invalid.
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
lea edx, [esp + 0x1bc]
push edx
push 0x20
sub esp, 0x1c
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x40], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c64], 0x5a
lea ecx, [esp + 0x218]
mov esi, esp
mov dword [esp + 0x54], esp
call fcn.004044c0
cmp dword [edi + 0x14], 8
jb 0x416117
mov edi, dword [edi]
mov eax, dword [ebp + 0x54]
mov byte [esp + 0x1c64], 0x58
mov edx, dword [eax + 0x14]
push edi
lea ecx, [esp + 0x254]
call fcn.00431a80
test eax, eax
jne 0x416165
lea edi, [esp + 0x1bc]
lea eax, [ebp + 0x970]
call fcn.00402ba0
mov ecx, str.350_Directory_exists__ready_for_destination_name.
push 1
mov esi, ebp
mov dword [ebp + 0x98c], 0
call fcn.00412bc0
jmp 0x41556f
test al, 1
je 0x41617c
mov ecx, str.550_Permission_denied
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
mov ecx, str.550_Filename_invalid.
test al, 0x20
jne 0x41618a
mov ecx, str.550_file_directory_not_found
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
lea ebx, [ebp + 0x970]
mov esi, 0x47ca70
mov ecx, ebx
call fcn.00403900
test al, al
je 0x4161b8
mov ecx, str.503_Bad_sequence_of_commands_
jmp 0x419566
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x4161d2
mov ecx, str.501_Syntax_error
jmp 0x419566
cmp dword [ebp + 0x98c], 0
lea eax, [esp + 0x1bc]
je 0x416305
call fcn.00404520
lea eax, [esp + 0x210]
call fcn.00404520
lea ecx, [esp + 0x210]
push ecx
lea edx, [esp + 0x1c0]
push edx
push 0x10
sub esp, 0x1c
mov byte [esp + 0x1c4c], 0x5c
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x44], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c68], 0x5d
lea ecx, [esp + 0x21c]
mov esi, esp
mov dword [esp + 0x58], esp
call fcn.004044c0
lea eax, [ebp + 0x8f4]
mov esi, 8
cmp dword [eax + 0x14], esi
jb 0x416254
mov eax, dword [eax]
mov ecx, dword [ebp + 0x54]
mov byte [esp + 0x1c68], 0x5c
mov ecx, dword [ecx + 0x14]
mov edx, eax
call fcn.004324d0
mov dword [esp + 0x1c], eax
test eax, eax
je 0x416282
push 0x47ca70
call fcn.00406760
mov eax, dword [esp + 0x20]
add esp, 4
test al, 1
je 0x416290
mov ecx, str.550_Permission_denied
jmp 0x41953e
test al, 0x20
je 0x41629e
mov ecx, str.553_Filename_invalid.
jmp 0x41953e
test al, 0x10
je 0x4162b6
mov edx, eax
and edx, 0x14
cmp dl, 0x14
je 0x4162b6
mov ecx, str.553_file_exists
jmp 0x41953e
test eax, eax
je 0x4162c4
mov ecx, str.553_Filename_invalid
jmp 0x41953e
mov ecx, dword [esp + 0x1bc]
cmp dword [esp + 0x1d0], esi
jae 0x4162db
lea ecx, [esp + 0x1bc]
cmp dword [ebx + 0x14], esi
jb 0x4162e4
mov eax, dword [ebx]
jmp 0x4162e6
mov eax, ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov ecx, str.450_Internal_error_renaming_the_file
test eax, eax
je 0x41953e
mov ecx, str.250_file_renamed_successfully
jmp 0x41953e
call fcn.00404520
lea eax, [esp + 0x210]
call fcn.00404520
lea eax, [esp + 0x1bc]
push eax
push 0x40
sub esp, 0x1c
mov bl, 0x5f
mov byte [esp + 0x1c48], bl
lea ecx, [ebp + 0x8d4]
mov esi, esp
lea edi, [esp + 0x234]
mov dword [esp + 0x40], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c64], 0x60
lea ecx, [esp + 0x218]
mov esi, esp
mov dword [esp + 0x54], esp
call fcn.004044c0
lea eax, [ebp + 0x8f4]
mov esi, 8
cmp dword [eax + 0x14], esi
jb 0x416373
mov eax, dword [eax]
mov edx, dword [ebp + 0x54]
mov byte [esp + 0x1c64], bl
mov edx, dword [edx + 0x14]
push eax
mov ecx, edi
call fcn.00431a80
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4163a7
push 0x47ca70
lea ebx, [ebp + 0x970]
call fcn.00406760
mov eax, dword [esp + 0x20]
add esp, 4
test al, 1
je 0x4163be
mov ecx, str.550_Permission_denied
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
test al, 0x20
je 0x4163d5
mov ecx, str.550_Filename_invalid.
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
test al, 0x10
je 0x4163f6
mov ecx, eax
and ecx, 0x18
cmp cl, 0x18
je 0x4163f6
mov ecx, str.550_file_exists
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
test eax, eax
je 0x41640d
mov ecx, str.550_Filename_invalid
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
mov ecx, dword [esp + 0x1bc]
cmp dword [esp + 0x1d0], esi
jae 0x416424
lea ecx, [esp + 0x1bc]
cmp dword [ebp + 0x984], esi
lea eax, [ebp + 0x970]
jb 0x416434
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov ecx, str.450_Internal_error_renaming_the_file
test eax, eax
je 0x41644a
mov ecx, str.250_file_renamed_successfully
push 1
mov esi, ebp
call fcn.00412bc0
jmp 0x41556f
mov eax, dword [ebp + 0x964]
test eax, eax
je 0x416479
call fcn.00450d20
test eax, eax
je 0x416479
push 1
mov ecx, str.426_Connection_closed__transfer_aborted.
mov esi, ebp
call fcn.00412bc0
push 1
mov ecx, str.226_ABOR_command_successful
mov esi, ebp
call fcn.00412bc0
call fcn.0041a440
jmp 0x41956f
mov ecx, str.215_UNIX_emulated_by_File_Zilla
jmp 0x419566
mov ecx, str.200_OK
jmp 0x419566
mov eax, dword [ebp + 0x930]
cmp eax, edi
jne 0x4164b9
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
test eax, eax
jne 0x4164e3
lea ecx, [ebp + 0x944]
mov esi, 0x47ca70
call fcn.00403900
test al, al
jne 0x4164d9
cmp dword [ebp + 0x960], edi
jne 0x4164e3
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
cmp dword [ebp + 0x80], 0
je 0x416514
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x32
call fcn.0042c450
or eax, edx
je 0x416514
cmp byte [ebp + 0x99c], 0
jne 0x416514
mov ecx, str.521_PROT_P_required
jmp 0x419566
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x41652e
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x1f4]
call fcn.00404520
lea eax, [esp + 0x1bc]
call fcn.00404520
lea ecx, [esp + 0x1bc]
push ecx
lea edx, [esp + 0x1f8]
push edx
mov edi, 8
push edi
sub esp, 0x1c
mov bl, 0x62
mov byte [esp + 0x1c4c], bl
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x44], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c68], 0x63
lea ecx, [esp + 0x21c]
mov esi, esp
mov dword [esp + 0x58], esp
call fcn.004044c0
cmp dword [ebp + 0x908], edi
lea eax, [ebp + 0x8f4]
jb 0x4165a6
mov eax, dword [eax]
mov ecx, dword [ebp + 0x54]
mov byte [esp + 0x1c68], bl
mov ecx, dword [ecx + 0x14]
mov edx, eax
call fcn.004324d0
test al, 1
je 0x4165c8
mov ecx, str.550_Permission_denied
jmp 0x4151ca
test al, 0x20
je 0x4165d6
mov ecx, str.550_Filename_invalid.
jmp 0x4151ca
xor ecx, ecx
cmp eax, ecx
je 0x4165e6
mov ecx, str.550_Filename_invalid
jmp 0x4151ca
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x208], edi
jae 0x416605
lea eax, [esp + 0x1f4]
push eax
lea esi, [esp + 0x18]
call fcn.00429810
add esp, 4
test eax, eax
jne 0x41661e
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
cmp dword [ebp + 0x930], 0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [ebp + 0x938], edx
mov dword [ebp + 0x93c], eax
jne 0x41675a
push 0x130
call fcn.004596f4
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1c24], 0x64
test eax, eax
je 0x416667
push ebp
push eax
call fcn.0044ee00
mov esi, eax
jmp 0x416669
xor esi, esi
mov byte [esp + 0x1c24], bl
mov ecx, dword [ebp + 0x93c]
mov edx, dword [ebp + 0x938]
push ecx
push edx
push 2
lea ebx, [esp + 0x200]
mov edi, esi
call fcn.0044efd0
cmp dword [ebp + 0x990], 1
mov dword [ebp + 0x964], esi
jne 0x4166b1
mov eax, dword [ebp + 0x994]
push eax
call fcn.00450f90
test al, al
je 0x4151c5
push ebp
mov ebx, esi
call fcn.0041b110
test eax, eax
je 0x4151d8
mov ecx, dword [ebp + 0x93c]
mov edx, dword [ebp + 0x938]
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
push edx
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x208]
push ecx
push 2
push ebp
call fcn.0041b6e0
lea eax, [esp + 0x210]
call fcn.00404520
mov byte [esp + 0x1c24], 0x65
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
lea ecx, [esp + 0x218]
push ecx
mov edx, str.150_Opening_data_channel_for_file_transfer__restarting_at_offset__I64d
call fcn.0041ea90
cmp dword [esp + 0x224], 8
mov ecx, dword [esp + 0x210]
jae 0x416733
lea ecx, [esp + 0x210]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x210]
call fcn.004044f0
lea eax, [ebp + 0x8b4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
jmp 0x4151d8
mov edi, dword [ebp + 0x964]
test edi, edi
jne 0x416777
push 1
mov ecx, str.503_Bad_sequence_of_commands.
mov esi, ebp
call fcn.00412bc0
jmp 0x4151d8
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
push 2
lea ebx, [esp + 0x200]
call fcn.0044efd0
cmp dword [ebp + 0x990], 1
jne 0x4167b2
mov ecx, dword [ebp + 0x994]
mov esi, dword [ebp + 0x964]
push ecx
call fcn.00450f90
test al, al
je 0x4151c5
mov edx, dword [ebp + 0x93c]
mov eax, dword [ebp + 0x938]
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push eax
lea ecx, [esp + 0x1cc]
push ecx
lea edx, [esp + 0x208]
push edx
push 2
push ebp
call fcn.0041b6e0
mov esi, dword [ebp + 0x964]
call fcn.00450430
lea eax, [ebp + 0x8b4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
jmp 0x4151d8
mov eax, dword [ebp + 0x930]
cmp eax, edi
jne 0x41680d
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
test eax, eax
jne 0x416837
lea ecx, [ebp + 0x944]
mov esi, 0x47ca70
call fcn.00403900
test al, al
jne 0x41682d
cmp dword [ebp + 0x960], edi
jne 0x416837
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
cmp dword [ebp + 0x80], 0
je 0x416868
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx + 0x18]
push edx
mov eax, 0x32
call fcn.0042c450
or eax, edx
je 0x416868
cmp byte [ebp + 0x99c], 0
jne 0x416868
mov ecx, str.521_PROT_P_required
jmp 0x419566
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.0041ea60
test al, al
je 0x416aed
mov dword [esp + 0x14], 0
lea esp, [esp]
cmp dword [esp + 0x1ec], 8
mov eax, dword [esp + 0x1d8]
jae 0x4168a8
lea eax, [esp + 0x1d8]
cmp word [eax], 0x2d
jne 0x416ab3
cmp dword [esp + 0x1e8], 2
jl 0x41390e
mov eax, 0x20
lea edx, [esp + 0x1d8]
call fcn.00404da0
mov esi, eax
lea eax, [esp + 0x1f4]
call fcn.00404520
mov bl, 0x66
mov byte [esp + 0x1c24], bl
cmp esi, 0xffffffff
je 0x4169c5
lea eax, [esp + 0x1d8]
push eax
mov ecx, 1
lea edi, [esp + 0x674]
call fcn.00404dd0
mov edi, eax
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0x67
call fcn.00402ba0
lea ecx, [esp + 0x670]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
lea edx, [esp + 0x1f4]
lea ecx, [esi - 1]
push edx
lea edi, [esp + 0xa64]
call fcn.00404dd0
mov edi, eax
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0x68
call fcn.00402ba0
lea ecx, [esp + 0xa60]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
lea ecx, [esi + 1]
lea eax, [esp + 0x6a8]
lea edx, [esp + 0x1d8]
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1d8]
mov byte [esp + 0x1c24], 0x69
call fcn.00402ba0
lea ecx, [esp + 0x6a8]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
mov edx, 0x47caa4
lea eax, [esp + 0x1d8]
call fcn.0041cff0
jmp 0x4169db
push 0x47ca70
lea ebx, [esp + 0x1dc]
call fcn.00406760
add esp, 4
mov bl, 0x66
mov esi, 0x47ca70
lea ecx, [esp + 0x1f4]
call fcn.0041ea60
test al, al
je 0x416a80
cmp dword [esp + 0x208], 8
mov eax, dword [esp + 0x1f4]
jae 0x416a0c
lea eax, [esp + 0x1f4]
cmp word [eax], 0x52
je 0x416a6a
mov ecx, 1
lea eax, [esp + 0x8d8]
lea edx, [esp + 0x1f4]
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0x6a
call fcn.00402ba0
lea ecx, [esp + 0x8d8]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
mov esi, 0x47ca70
lea ecx, [esp + 0x1f4]
call fcn.0041ea60
test al, al
jne 0x4169f4
jmp 0x416a80
push 1
mov ecx, str.504_Command_not_implemented_for_that_parameter
mov esi, ebp
call fcn.00412bc0
mov dword [esp + 0x14], 1
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.00403900
mov byte [esp + 0x1c24], 1
lea ecx, [esp + 0x1f4]
test al, al
jne 0x416aae
call fcn.004044f0
jmp 0x416890
call fcn.004044f0
cmp dword [esp + 0x14], 0
jne 0x41956f
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.0041ea60
test al, al
je 0x416aed
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x416aed
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x210]
call fcn.00404520
lea eax, [esp + 0x1bc]
call fcn.00404520
mov byte [esp + 0x1c24], 0x6c
movzx eax, byte [ebp + 0x99d]
push 0
push eax
lea ecx, [esp + 0x1c4]
push ecx
lea edx, [esp + 0x20]
push edx
sub esp, 0x1c
lea ecx, [esp + 0x204]
mov esi, esp
mov edi, 0x430840
lea ebx, [esp + 0x23c]
mov dword [esp + 0x48], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c6c], 0x6d
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x5c], esp
call fcn.004044c0
cmp dword [ebp + 0x908], 8
lea eax, [ebp + 0x8f4]
jb 0x416b72
mov eax, dword [eax]
push eax
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, edi
mov ecx, ebx
mov byte [esp + 0x1c74], 0x6c
call fcn.00430920
test al, 1
je 0x416b99
mov ecx, str.550_Permission_denied
jmp 0x416c1e
test al, 0x20
je 0x416ba4
mov ecx, str.550_Filename_invalid.
jmp 0x416c1e
test eax, eax
je 0x416baf
mov ecx, str.550_Directory_not_found
jmp 0x416c1e
cmp dword [ebp + 0x930], 0
jne 0x416c9b
push 0x130
call fcn.004596f4
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1c24], 0x6e
test eax, eax
je 0x416be4
push ebp
push eax
call fcn.0044ee00
mov esi, eax
jmp 0x416be6
xor esi, esi
mov byte [esp + 0x1c24], 0x6c
mov edx, dword [esp + 0x14]
push 4
push edx
mov dword [ebp + 0x964], esi
call fcn.0044ef60
cmp dword [ebp + 0x990], 1
jne 0x416c49
mov eax, dword [ebp + 0x994]
push eax
call fcn.00450f90
test al, al
jne 0x416c49
mov ecx, str.550_could_not_initialize_zlib__please_use_MODE_S_instead
push 1
mov esi, ebp
call fcn.00412bc0
call fcn.0041a440
lea ecx, [esp + 0x1bc]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
push ebp
mov ebx, esi
call fcn.0041b110
lea ecx, [esp + 0x1bc]
test eax, eax
jne 0x416c72
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push ecx
lea edx, [esp + 0x224]
push edx
push 1
push ebp
call fcn.0041b6e0
push 1
mov ecx, str.150_Opening_data_channel_for_directory_list.
mov esi, ebp
call fcn.00412bc0
jmp 0x416c2c
mov esi, dword [ebp + 0x964]
mov eax, dword [esp + 0x14]
test esi, esi
jne 0x416cd9
call fcn.0043c5d0
push 1
mov ecx, str.503_Bad_sequence_of_commands.
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
push 4
push eax
call fcn.0044ef60
cmp dword [ebp + 0x990], 1
jne 0x416d04
mov ecx, dword [ebp + 0x994]
mov esi, dword [ebp + 0x964]
push ecx
call fcn.00450f90
test al, al
je 0x416c19
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
lea edx, [esp + 0x1cc]
push edx
lea eax, [esp + 0x224]
push eax
push 1
push ebp
call fcn.0041b6e0
mov esi, dword [ebp + 0x964]
call fcn.00450430
jmp 0x416c2c
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x416d4e
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x210]
call fcn.00404520
lea eax, [esp + 0x1f4]
call fcn.00404520
lea ecx, [esp + 0x1f4]
push ecx
lea edx, [esp + 0x214]
push edx
push 0x80
sub esp, 0x1c
mov bl, 0x70
mov byte [esp + 0x1c4c], bl
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x44], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c68], 0x71
lea ecx, [esp + 0x21c]
mov esi, esp
mov dword [esp + 0x58], esp
call fcn.004044c0
lea eax, [ebp + 0x8f4]
mov edi, 8
cmp dword [eax + 0x14], edi
jb 0x416dc7
mov eax, dword [eax]
mov ecx, dword [ebp + 0x54]
mov byte [esp + 0x1c68], bl
mov ecx, dword [ecx + 0x14]
mov edx, eax
call fcn.004324d0
test al, 1
je 0x416e0a
push 1
mov ecx, str.550_Permission_denied
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
test al, 0x20
je 0x416e39
push 1
mov ecx, str.550_Filename_invalid.
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
test al, 2
je 0x416e68
push 1
mov ecx, str.550_File_not_found
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
mov eax, dword [esp + 0x210]
cmp dword [esp + 0x224], edi
jae 0x416e7f
lea eax, [esp + 0x210]
push eax
lea esi, [esp + 0xab8]
call fcn.00429890
lea eax, [esp + 0x1bc]
call fcn.00404520
lea edx, [esp + 0x22c]
push edx
lea eax, [esp + 0xac0]
push eax
mov byte [esp + 0x1c2c], 0x72
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea ecx, [esp + 0x234]
push ecx
lea edx, [esp + 0x236]
push edx
lea eax, [esp + 0x236]
push eax
lea ecx, [esp + 0x238]
push ecx
push str.213__04d_02d_02d_02d_02d_02d
lea edx, [esp + 0x1d0]
push edx
lea eax, [esp + 0x250]
lea edx, [esp + 0x24e]
call fcn.0041eab0
mov ecx, dword [esp + 0x1bc]
cmp dword [esp + 0x1d0], edi
jae 0x416f0d
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x41956f
cmp dword [ebp + 0x964], 0
je 0x416fd0
push 0x482fa4
lea eax, [esp + 0x1a4]
push eax
call fcn.00420c00
push 0x482fa4
lea ecx, [esp + 0x16c]
push ecx
mov byte [esp + 0x1c2c], 0x73
call fcn.00420c00
push edi
push edi
push 0
push 0
lea edx, [esp + 0x1b0]
push edx
lea eax, [esp + 0x17c]
push eax
push 0
push ebp
mov byte [esp + 0x1c44], 0x74
call fcn.0041b6e0
lea ecx, [esp + 0x168]
call fcn.004044f0
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x1c24], 1
call fcn.004044f0
mov ecx, dword [ebp + 0x964]
test ecx, ecx
je 0x416fd0
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, ebp
call fcn.0040cb00
xor ecx, ecx
cmp eax, 2
setne cl
push 0x130
inc ecx
mov dword [ebp + 0x96c], ecx
call fcn.004596f4
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1c24], 0x75
test eax, eax
je 0x41700c
push ebp
push eax
call fcn.0044ee00
jmp 0x41700e
xor eax, eax
xor edi, edi
mov byte [esp + 0x1c24], 1
mov dword [ebp + 0x964], eax
mov dword [esp + 0x14], edi
lea ebx, [edi + 3]
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x21
call fcn.0042c450
or eax, edx
je 0x417081
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx + 0x18]
push edx
mov eax, 0xe
call fcn.0042c450
mov esi, eax
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0xf
call fcn.0042c450
cmp esi, eax
jbe 0x417068
mov ecx, esi
mov esi, eax
mov eax, ecx
mov ecx, dword [0x491fc8]
cmp ecx, esi
jb 0x417076
cmp ecx, eax
jbe 0x417078
mov ecx, esi
mov edi, ecx
inc ecx
mov dword [0x491fc8], ecx
push 0
mov eax, ebp
call fcn.0040cb00
mov ecx, dword [ebp + 0x964]
push 0
mov esi, eax
push edi
mov eax, 8
call fcn.00409360
test eax, eax
jne 0x4170b0
dec ebx
jne 0x417025
mov dword [esp + 0x14], edi
jmp 0x4170b8
mov dword [esp + 0x14], edi
test ebx, ebx
jne 0x4170de
mov ecx, dword [ebp + 0x964]
test ecx, ecx
je 0x4170ca
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [ebp + 0x964], 0
mov ecx, str.421_Could_not_create_socket.
jmp 0x419566
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x4170fc
call fcn.00408020
test eax, eax
je 0x4170fc
mov edx, dword [ebp + 0x964]
push edx
mov edi, ecx
call fcn.00450d40
mov eax, dword [ebp + 0x80]
test eax, eax
je 0x41711d
cmp byte [ebp + 0x99c], 0
je 0x41711d
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp + 0x964]
call fcn.00450d70
mov esi, dword [ebp + 0x964]
call fcn.0040a600
test eax, eax
jne 0x417165
mov ecx, dword [ebp + 0x964]
test ecx, ecx
je 0x41713e
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [ebp + 0x964], 0
mov ecx, str.421_Could_not_create_socket__listening_failed.
push 1
mov esi, ebp
call fcn.00412bc0
mov dword [ebp + 0x930], 0xffffffff
jmp 0x41956f
lea eax, [esp + 0x210]
call fcn.00404520
lea eax, [esp + 0x210]
mov byte [esp + 0x1c24], 0x76
mov ecx, dword [ebp + 0x964]
push eax
lea eax, [esp + 0x18]
call fcn.0040a340
test eax, eax
je 0x4171f1
lea eax, [esp + 0x1bc]
call fcn.00404520
mov byte [esp + 0x1c24], 0x77
mov ecx, dword [esp + 0x14]
push ecx
push str.229_Entering_Extended_Passive_Mode___d_
lea edx, [esp + 0x1c4]
call fcn.0041ee70
mov ecx, dword [esp + 0x1c4]
add esp, 8
cmp dword [esp + 0x1d0], 8
jae 0x4171d9
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
mov dword [ebp + 0x930], 1
jmp 0x416c2c
mov ecx, dword [ebp + 0x964]
test ecx, ecx
je 0x417203
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
push 1
mov ecx, str.421_Could_not_create_socket__unable_to_query_socket_for_used_port.
mov esi, ebp
mov dword [ebp + 0x964], 0
call fcn.00412bc0
lea ecx, [esp + 0x210]
mov dword [ebp + 0x930], 0xffffffff
call fcn.004044f0
jmp 0x41956f
cmp dword [ebp + 0x964], 0
je 0x4172d1
push 0x482fa4
lea ecx, [esp + 0xc4]
push ecx
call fcn.00420c00
push 0x482fa4
lea edx, [esp + 0x188]
push edx
mov byte [esp + 0x1c2c], 0x78
call fcn.00420c00
push edi
push edi
push 0
push 0
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x198]
push ecx
push 0
push ebp
mov byte [esp + 0x1c44], 0x79
call fcn.0041b6e0
lea ecx, [esp + 0x184]
call fcn.004044f0
lea ecx, [esp + 0xc0]
mov byte [esp + 0x1c24], 1
call fcn.004044f0
mov ecx, dword [ebp + 0x964]
test ecx, ecx
je 0x4172c7
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [ebp + 0x964], 0
mov eax, dword [esp + 0x1d8]
mov ebx, 8
cmp dword [esp + 0x1ec], ebx
jae 0x4172ed
lea eax, [esp + 0x1d8]
cmp word [eax], 0x7c
je 0x41730c
push 1
mov ecx, str.501_Syntax_error
mov esi, ebp
call fcn.00412bc0
mov dword [ebp + 0x930], edi
jmp 0x41956f
mov ecx, 1
lea eax, [esp + 0x6e0]
lea edx, [esp + 0x1d8]
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1d8]
mov byte [esp + 0x1c24], 0x7a
call fcn.00402ba0
lea ecx, [esp + 0x6e0]
mov byte [esp + 0x1c24], 1
call fcn.004044f0
mov eax, 0x7c
lea edx, [esp + 0x1d8]
call fcn.00404da0
mov esi, eax
cmp esi, 1
jl 0x417641
mov ecx, dword [esp + 0x1e8]
dec ecx
cmp esi, ecx
jge 0x417641
lea edx, [esp + 0x1d8]
push edx
mov ecx, esi
lea edi, [esp + 0x9f4]
call fcn.00404dd0
cmp dword [eax + 0x14], ebx
jb 0x417397
mov eax, dword [eax]
push eax
call fcn.0045a7ab
add esp, 4
lea ecx, [esp + 0x9f0]
mov ebx, eax
call fcn.004044f0
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0x3e
call fcn.0042c450
or eax, edx
jne 0x4173c7
mov al, 1
jmp 0x4173c9
xor al, al
cmp ebx, 1
je 0x4173df
cmp ebx, 2
jne 0x4174d5
test al, al
je 0x4174e2
lea ecx, [esi + 1]
lea eax, [esp + 0x718]
lea edx, [esp + 0x1d8]
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1d8]
mov byte [esp + 0x1c24], 0x7b
call fcn.00402ba0
lea ecx, [esp + 0x718]
mov byte [esp + 0x1c24], 1
call fcn.004044f0
mov eax, 0x7c
lea edx, [esp + 0x1d8]
call fcn.00404da0
mov dword [esp + 0x1c], eax
cmp eax, 1
jl 0x417641
mov edx, dword [esp + 0x1e8]
dec edx
cmp eax, edx
jge 0x417641
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, eax
lea edi, [esp + 0x1c0]
call fcn.00404dd0
mov byte [esp + 0x1c24], 0x7c
cmp ebx, 1
jne 0x4174ec
mov edx, edi
lea ecx, [esp + 0x910]
call fcn.004210e0
cmp dword [eax + 0x14], 0x10
jb 0x417486
mov eax, dword [eax]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
lea esi, [esp + 0x910]
sete byte [esp + 0x2b]
call fcn.00420e00
cmp byte [esp + 0x2b], 0
je 0x41754e
mov ecx, str.501_Syntax_error__not_a_valid_IPv4_address
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
mov dword [ebp + 0x930], 0xffffffff
call fcn.004044f0
jmp 0x41956f
mov ecx, str.522_Extended_Port_Failure___unknown_network_protocol._Supported_protocols:__1_2_
test al, al
jne 0x41714d
mov ecx, str.522_Extended_Port_Failure___unknown_network_protocol._Supported_protocols:__1_
jmp 0x41714d
sub esp, 0x1c
lea ecx, [esp + 0x1d8]
mov esi, esp
mov dword [esp + 0x30], esp
call fcn.004044c0
lea edi, [esp + 0x398]
call fcn.004263c0
add esp, 0x1c
mov edi, eax
lea eax, [esp + 0x1bc]
mov byte [esp + 0x1c24], 0x7d
call fcn.00402ba0
lea ecx, [esp + 0x37c]
mov byte [esp + 0x1c24], 0x7c
call fcn.004044f0
cmp dword [esp + 0x1cc], 0
jne 0x41754e
mov ecx, str.501_Syntax_error__not_a_valid_IPv6_address
jmp 0x4174b1
mov ecx, dword [esp + 0x1c]
inc ecx
lea eax, [esp + 0x3b4]
lea edx, [esp + 0x1d8]
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1d8]
mov byte [esp + 0x1c24], 0x7e
call fcn.00402ba0
lea ecx, [esp + 0x3b4]
mov byte [esp + 0x1c24], 0x7c
call fcn.004044f0
mov eax, 0x7c
lea edx, [esp + 0x1d8]
call fcn.00404da0
cmp eax, 1
jge 0x4175b0
mov ecx, str.501_Syntax_error
jmp 0x4174b1
lea edx, [esp + 0x1d8]
push edx
mov ecx, eax
lea edi, [esp + 0x3f0]
call fcn.00404dd0
cmp dword [eax + 0x14], 8
jb 0x4175ce
mov eax, dword [eax]
push eax
call fcn.0045a7ab
add esp, 4
lea ecx, [esp + 0x3ec]
mov esi, eax
call fcn.004044f0
lea eax, [esi - 1]
cmp eax, 0xfffe
ja 0x4175a6
lea eax, [ebp + 0x944]
lea edi, [esp + 0x1bc]
mov dword [ebp + 0x960], esi
call fcn.00402ba0
dec ebx
neg ebx
sbb ebx, ebx
and ebx, 0x15
add ebx, 2
push 1
mov ecx, 0x47fcc8
mov esi, ebp
mov dword [ebp + 0x96c], ebx
mov dword [ebp + 0x930], 0
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
mov ecx, str.501_Syntax_error
jmp 0x41714d
cmp dword [ebp + 0x890], 0
jne 0x417ae3
cmp dword [ebp + 0x88], 0
jne 0x417ae3
cmp dword [ebp + 0x7c], 0
je 0x417675
mov ecx, str.534_Authentication_type_already_set_to_GSSAPI
jmp 0x419566
cmp dword [ebp + 0x80], 0
je 0x417688
mov ecx, str.534_Authentication_type_already_set_to_SSL
jmp 0x419566
lea ecx, [esp + 0x1d8]
push ecx
call fcn.0041cca0
mov esi, str.GSSAPI
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
je 0x417753
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x19
call fcn.0042c450
or eax, edx
jne 0x4176cd
mov ecx, str.502_GSSAPI_authentication_not_implemented
jmp 0x419566
push 0x80c4
call fcn.004596f4
add esp, 4
test eax, eax
je 0x4176e5
call fcn.004068f0
jmp 0x4176e7
xor eax, eax
mov esi, ebp
mov dword [ebp + 0x7c], eax
call fcn.0040a7c0
test eax, eax
je 0x417722
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx + 0x18]
push edx
mov eax, 0x1a
call fcn.0042c450
push eax
mov eax, dword [ebp + 0x7c]
push 0
call fcn.004077a0
push 1
test eax, eax
jne 0x417749
push ebp
mov ebx, str.Unable_to_init_GSS
call fcn.00412a70
mov esi, ebp
call fcn.0040a830
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x417738
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [ebp + 0x7c], 0
mov ecx, str.431_Could_not_initialize_GSSAPI_libraries
jmp 0x419566
mov ecx, str.334_Using_authentication_type_GSSAPI__ADAT_must_follow
jmp 0x419568
mov esi, 0x481248
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x417787
mov esi, 0x481250
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x417787
mov ecx, str.504_Auth_type_not_supported
jmp 0x419566
cmp dword [ebp + 0x80], 0
je 0x41779a
mov ecx, str.503_Already_using_SSL_TLS
jmp 0x419566
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0x2b
call fcn.0042c450
or eax, edx
je 0x417ad9
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x2c
call fcn.0042c450
or eax, edx
je 0x417ad9
push 0xac
call fcn.004596f4
add esp, 4
test eax, eax
je 0x4177e4
call fcn.0040ccf0
jmp 0x4177e6
xor eax, eax
mov esi, ebp
mov dword [ebp + 0x80], eax
call fcn.0040a7c0
test eax, eax
je 0x417aac
lea eax, [esp + 0x1bc]
call fcn.00404520
mov bl, 0x7f
mov byte [esp + 0x1c24], bl
mov edx, dword [ebp + 0x54]
lea ecx, [esp + 0x53c]
push ecx
mov ecx, dword [edx + 0x18]
mov eax, 0x33
call fcn.0042c2d0
mov edx, eax
lea ecx, [esp + 0x504]
mov byte [esp + 0x1c24], 0x80
call fcn.004210e0
mov esi, eax
mov byte [esp + 0x1c24], 0x81
mov ecx, dword [ebp + 0x54]
mov ecx, dword [ecx + 0x18]
lea eax, [esp + 0x4cc]
push eax
mov eax, 0x2d
call fcn.0042c2d0
mov edx, eax
lea ecx, [esp + 0x494]
mov byte [esp + 0x1c24], 0x82
call fcn.004210e0
mov edi, eax
mov byte [esp + 0x1c24], 0x83
mov ecx, dword [ebp + 0x54]
mov ecx, dword [ecx + 0x18]
lea edx, [esp + 0x45c]
push edx
mov eax, 0x2e
call fcn.0042c2d0
mov edx, eax
lea ecx, [esp + 0x424]
mov byte [esp + 0x1c24], 0x84
call fcn.004210e0
mov ecx, 0x10
mov byte [esp + 0x1c24], 0x85
cmp dword [esi + 0x14], ecx
jb 0x4178c2
mov esi, dword [esi]
cmp dword [edi + 0x14], ecx
jb 0x4178c9
mov edi, dword [edi]
cmp dword [eax + 0x14], ecx
jb 0x4178d0
mov eax, dword [eax]
push esi
mov esi, dword [ebp + 0x80]
push edi
push eax
lea eax, [esp + 0x1c8]
call fcn.0040ef50
lea esi, [esp + 0x424]
mov edi, eax
call fcn.00420e00
lea ecx, [esp + 0x45c]
call fcn.004044f0
lea esi, [esp + 0x494]
call fcn.00420e00
lea ecx, [esp + 0x4cc]
call fcn.004044f0
lea esi, [esp + 0x504]
call fcn.00420e00
lea ecx, [esp + 0x53c]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
cmp edi, 2
jne 0x41794a
push 1
push ebp
mov ebx, str.Failed_to_load_SSL_libraries
call fcn.00412a70
jmp 0x4179ac
cmp edi, 4
jne 0x41795e
push 1
push ebp
mov ebx, str.Failed_to_initialize_SSL_libraries
call fcn.00412a70
jmp 0x4179ac
cmp edi, 8
jne 0x4179a8
mov esi, 0x47ca70
lea ecx, [esp + 0x1bc]
call fcn.0041ea60
test al, al
je 0x417999
mov ebx, dword [esp + 0x1bc]
cmp dword [esp + 0x1d0], edi
jae 0x41798f
lea ebx, [esp + 0x1bc]
push 1
push ebp
call fcn.00412a70
jmp 0x4179ac
push 1
push ebp
mov ebx, str.Failed_to_set_certificate_and_private_key
call fcn.00412a70
jmp 0x4179ac
test edi, edi
je 0x4179ee
mov esi, ebp
call fcn.0040a830
mov ecx, dword [ebp + 0x80]
test ecx, ecx
je 0x4179c5
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
push 1
mov ecx, str.431_Could_not_initialize_SSL_connection
mov esi, ebp
mov dword [ebp + 0x80], 0
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x1c24], 1
call fcn.004044f0
mov ecx, dword [ebp + 0x80]
push 0
call fcn.0040e4b0
mov esi, eax
cmp esi, 2
jne 0x417a1d
mov ebx, str.Failed_to_load_SSL_libraries
jmp 0x417a27
cmp esi, 4
jne 0x417a2f
mov ebx, str.Failed_to_initialize_SSL_library
push 1
push ebp
call fcn.00412a70
xor eax, eax
test esi, esi
sete al
test eax, eax
je 0x417aac
mov esi, 0x481248
lea ecx, [esp + 0x1d8]
call fcn.00403900
push 3
push ebp
test al, al
je 0x417a7c
mov ebx, str.234_Using_authentication_type_SSL
call fcn.00412a70
mov esi, dword [ebp + 0x80]
mov edi, 0x23
mov eax, str.234_Using_authentication_type_SSL_r_n
call fcn.0040f0e0
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
jmp 0x417aa4
mov ebx, str.234_Using_authentication_type_TLS
call fcn.00412a70
mov esi, dword [ebp + 0x80]
mov edi, 0x23
mov eax, str.234_Using_authentication_type_TLS_r_n
call fcn.0040f0e0
xor edx, edx
cmp eax, edi
sete dl
mov eax, edx
test eax, eax
jne 0x41956f
mov esi, ebp
call fcn.0040a830
mov ecx, dword [ebp + 0x80]
test ecx, ecx
je 0x417ac5
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [ebp + 0x80], 0
mov ecx, str.431_Could_not_initialize_SSL_connection
jmp 0x419566
mov ecx, str.502_SSL_TLS_authentication_not_allowed
jmp 0x419566
push 1
mov ecx, str.503_Bad_sequence_of_commands._Received_additional_data_after_the_AUTH_command_before_this_reply_could_be_sent.
mov esi, ebp
call fcn.00412bc0
or edi, 0xffffffff
mov eax, ebp
call fcn.00419ff0
jmp 0x41956f
cmp dword [ebp + 0x7c], 0
je 0x417bc2
lea edx, [esp + 0x1d8]
lea ecx, [esp + 0x574]
call fcn.004210e0
mov byte [esp + 0x1c24], 0x86
cmp dword [eax + 0x14], 0x10
jb 0x417b2d
mov eax, dword [eax]
lea ecx, [esp + 0xc14]
push ecx
mov ecx, dword [ebp + 0x7c]
push eax
mov edx, str.ADAT
call fcn.00407d30
lea esi, [esp + 0x574]
mov byte [esp + 0x1c24], 1
call fcn.00420e00
lea edx, [esp + 0x280]
push edx
lea ecx, [esp + 0xc18]
call fcn.0041cac0
lea eax, [esp + 0x280]
push eax
lea ecx, [esp + 0x5b0]
mov byte [esp + 0x1c28], 0x87
call fcn.00421340
add esp, 4
mov byte [esp + 0x1c24], 0x88
cmp dword [eax + 0x14], 8
jb 0x417b9a
mov eax, dword [eax]
push 1
mov ecx, eax
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x5ac]
call fcn.004044f0
lea esi, [esp + 0x280]
call fcn.00420e00
jmp 0x41956f
mov ecx, str.502_Command_not_implemented_for_this_authentication_type
jmp 0x419566
cmp dword [ebp + 0x7c], 0
je 0x417c8e
lea edx, [esp + 0x1d8]
lea ecx, [esp + 0x5e4]
call fcn.004210e0
mov byte [esp + 0x1c24], 0x89
cmp dword [eax + 0x14], 0x10
jb 0x417bf9
mov eax, dword [eax]
lea ecx, [esp + 0xc14]
push ecx
mov ecx, dword [ebp + 0x7c]
push eax
mov edx, str.PBSZ
call fcn.00407d30
lea esi, [esp + 0x5e4]
mov byte [esp + 0x1c24], 1
call fcn.00420e00
lea edx, [esp + 0x29c]
push edx
lea ecx, [esp + 0xc18]
call fcn.0041cac0
lea eax, [esp + 0x29c]
push eax
lea ecx, [esp + 0x620]
mov byte [esp + 0x1c28], 0x8a
call fcn.00421340
add esp, 4
mov byte [esp + 0x1c24], 0x8b
cmp dword [eax + 0x14], 8
jb 0x417c66
mov eax, dword [eax]
push 1
mov ecx, eax
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x61c]
call fcn.004044f0
lea esi, [esp + 0x29c]
call fcn.00420e00
jmp 0x41956f
cmp dword [ebp + 0x80], 0
push 1
mov esi, ebp
je 0x417ca5
mov ecx, str.200_PBSZ0
jmp 0x41956a
mov ecx, str.502_Command_not_implemented_for_this_authentication_type
jmp 0x41956a
cmp dword [ebp + 0x7c], 0
je 0x417d71
lea edx, [esp + 0x1d8]
lea ecx, [esp + 0x654]
call fcn.004210e0
mov byte [esp + 0x1c24], 0x8c
cmp dword [eax + 0x14], 0x10
jb 0x417cdc
mov eax, dword [eax]
lea ecx, [esp + 0xc14]
push ecx
mov ecx, dword [ebp + 0x7c]
push eax
mov edx, str.PROT
call fcn.00407d30
lea esi, [esp + 0x654]
mov byte [esp + 0x1c24], 1
call fcn.00420e00
lea edx, [esp + 0x2d4]
push edx
lea ecx, [esp + 0xc18]
call fcn.0041cac0
lea eax, [esp + 0x2d4]
push eax
lea ecx, [esp + 0x690]
mov byte [esp + 0x1c28], 0x8d
call fcn.00421340
add esp, 4
mov byte [esp + 0x1c24], 0x8e
cmp dword [eax + 0x14], 8
jb 0x417d49
mov eax, dword [eax]
push 1
mov ecx, eax
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x68c]
call fcn.004044f0
lea esi, [esp + 0x2d4]
call fcn.00420e00
jmp 0x41956f
cmp dword [ebp + 0x80], 0
je 0x417bc2
lea ecx, [esp + 0x1d8]
push ecx
call fcn.0041cca0
mov esi, 0x481574
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
je 0x417dea
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x32
call fcn.0042c450
or eax, edx
je 0x417dbf
mov ecx, 0x481578
jmp 0x419566
mov eax, dword [ebp + 0x964]
test eax, eax
je 0x417dd0
xor ecx, ecx
call fcn.00450d70
push 1
mov ecx, str.200_Protection_level_set_to_C
mov esi, ebp
call fcn.00412bc0
mov byte [ebp + 0x99c], 0
jmp 0x41956f
mov esi, 0x481638
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
je 0x417e31
mov eax, dword [ebp + 0x964]
test eax, eax
je 0x417e17
mov ecx, dword [ebp + 0x80]
mov ecx, dword [ecx + 0x78]
call fcn.00450d70
push 1
mov ecx, 0x48163c
mov esi, ebp
call fcn.00412bc0
mov byte [ebp + 0x99c], 1
jmp 0x41956f
mov esi, 0x481678
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x417ed0
mov esi, 0x48167c
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x417ed0
lea edx, [esp + 0x1d8]
push edx
lea eax, [esp + 0x700]
push eax
mov ebx, str.504_Protection_level
call fcn.00420c90
lea ecx, [esp + 0x6cc]
push ecx
mov ebx, str._not_recognized
mov ecx, eax
mov byte [esp + 0x1c30], 0x91
call fcn.00420980
add esp, 0xc
mov byte [esp + 0x1c24], 0x92
cmp dword [eax + 0x14], 8
jb 0x417ea8
mov eax, dword [eax]
push 1
mov ecx, eax
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x6c4]
call fcn.004044f0
lea ecx, [esp + 0x6fc]
call fcn.004044f0
jmp 0x41956f
lea edx, [esp + 0x1d8]
push edx
lea eax, [esp + 0x770]
push eax
mov ebx, str.504_Protection_level
call fcn.00420c90
lea ecx, [esp + 0x73c]
push ecx
mov ebx, 0x481680
mov ecx, eax
mov byte [esp + 0x1c30], 0x8f
call fcn.00420980
add esp, 0xc
mov byte [esp + 0x1c24], 0x90
cmp dword [eax + 0x14], 8
jb 0x417f19
mov eax, dword [eax]
push 1
mov ecx, eax
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x734]
call fcn.004044f0
lea ecx, [esp + 0x76c]
call fcn.004044f0
jmp 0x41956f
push 1
mov ecx, str.211_Features:
mov esi, ebp
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._MDTM
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._REST_STREAM
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._SIZE
call fcn.00412bc0
test eax, eax
je 0x41956f
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x22
call fcn.0042c450
or eax, edx
je 0x417fbc
push 1
mov ecx, str._MODE_Z
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._MLST_type_size_modify_
mov esi, ebp
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._MLSD
call fcn.00412bc0
test eax, eax
je 0x41956f
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx + 0x18]
push edx
mov eax, 0x2b
call fcn.0042c450
or eax, edx
je 0x41806a
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0x2c
call fcn.0042c450
or eax, edx
jne 0x418018
cmp dword [ebp + 0x80], eax
je 0x41806a
push 1
mov ecx, str._AUTH_SSL
mov esi, ebp
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._AUTH_TLS
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._PROT
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._PBSZ
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._UTF8
mov esi, ebp
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._CLNT
call fcn.00412bc0
test eax, eax
je 0x41956f
push 1
mov ecx, str._MFMT
call fcn.00412bc0
test eax, eax
je 0x41956f
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x3d
call fcn.0042c450
or eax, edx
je 0x4181ab
push str._HASH
lea ecx, [esp + 0x1c0]
push ecx
call fcn.00406860
push 0x481804
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x1c28], 0x93
call fcn.004054a0
add esp, 4
cmp dword [ebp + 0x9a8], 1
jne 0x41810c
push 0x47c9b8
lea ecx, [esp + 0x1c0]
call fcn.004054a0
add esp, 4
push str._SHA_512
lea ecx, [esp + 0x1c0]
call fcn.004054a0
add esp, 4
cmp dword [ebp + 0x9a8], 2
jne 0x41813d
push 0x47c9b8
lea ecx, [esp + 0x1c0]
call fcn.004054a0
add esp, 4
push str._MD5
lea ecx, [esp + 0x1c0]
call fcn.004054a0
add esp, 4
cmp dword [ebp + 0x9a8], 0
jne 0x41816e
push 0x47c9b8
lea ecx, [esp + 0x1c0]
call fcn.004054a0
add esp, 4
cmp dword [esp + 0x1d0], 8
mov ecx, dword [esp + 0x1bc]
jae 0x418186
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
test eax, eax
je 0x4144fe
mov byte [esp + 0x1c24], 1
call fcn.004044f0
mov ecx, str.211_End
jmp 0x419566
mov esi, 0x481678
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x4182d5
mov esi, 0x481840
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x4182d5
mov esi, 0x48186c
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x418279
mov esi, 0x481870
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x418279
mov esi, 0x481574
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x41826f
mov esi, 0x481918
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x41826f
mov esi, 0x48191c
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x41826f
mov esi, 0x481920
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x41826f
mov ecx, str.504_Unknown_MODE_type
jmp 0x419566
mov ecx, 0x481924
jmp 0x419566
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x22
call fcn.0042c450
or eax, edx
mov esi, 1
jne 0x4182a6
cmp dword [ebp + 0x990], esi
je 0x4182c4
push esi
mov ecx, str.504_MODE_Z_not_enabled
jmp 0x419568
cmp dword [ebp + 0x990], esi
je 0x4182c4
mov ecx, ebp
call fcn.0041b310
test al, al
jne 0x4182c4
push esi
mov ecx, str.504_MODE_Z_not_allowed_from_your_IP
jmp 0x419568
mov dword [ebp + 0x990], esi
push esi
mov ecx, 0x481874
jmp 0x419568
mov dword [ebp + 0x990], 0
mov ecx, 0x481844
jmp 0x419566
lea ecx, [esp + 0x1d8]
push ecx
call fcn.0041cca0
lea edx, [esp + 0x1d8]
push edx
mov ecx, 0xd
lea edi, [esp + 0x7a8]
call fcn.00404dd0
mov esi, str.MODE_Z_LEVEL
mov ecx, eax
mov byte [esp + 0x1c24], 0x94
call fcn.00403900
mov ecx, edi
mov bl, al
mov byte [esp + 0x1c24], 1
call fcn.004044f0
test bl, bl
je 0x4183f6
mov ecx, 0xd
lea eax, [esp + 0x7dc]
lea edx, [esp + 0x1d8]
call fcn.00404ed0
cmp dword [eax + 0x14], 8
jb 0x41835c
mov eax, dword [eax]
push eax
call fcn.0045a7ab
add esp, 4
lea ecx, [esp + 0x7dc]
mov edi, eax
call fcn.004044f0
cmp dword [ebp + 0x994], edi
je 0x4183c2
mov eax, edi
cdq
mov ebx, eax
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0x23
mov esi, edx
call fcn.0042c450
cmp esi, edx
jl 0x4183b8
jg 0x41839d
cmp ebx, eax
jb 0x4183b8
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x24
call fcn.0042c450
cmp esi, edx
jl 0x4183c2
jg 0x4183b8
cmp ebx, eax
jbe 0x4183c2
mov ecx, str.501_cant_change_MODE_Z_LEVEL_do_desired_value
jmp 0x419566
lea eax, [esp + 0x1bc]
mov dword [ebp + 0x994], edi
call fcn.00404520
push edi
push str.200_MODE_Z_LEVEL_set_to__d
lea edx, [esp + 0x1c4]
mov byte [esp + 0x1c2c], 0x95
call fcn.0041ee70
add esp, 8
jmp 0x41397e
mov esi, str.UTF8_ON
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
je 0x41841c
mov byte [ebp + 0x99d], 1
mov ecx, str.200_UTF8_mode_enabled
jmp 0x419566
mov esi, str.UTF8_OFF
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
je 0x418442
mov byte [ebp + 0x99d], 0
mov ecx, str.200_UTF8_mode_disabled
jmp 0x419566
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, 4
lea edi, [esp + 0x818]
call fcn.00404dd0
mov esi, str.MLST
mov ecx, eax
mov byte [esp + 0x1c24], 0x96
call fcn.00403900
mov ecx, edi
mov bl, al
mov byte [esp + 0x1c24], 1
call fcn.004044f0
mov ecx, 4
lea edx, [esp + 0x1d8]
test bl, bl
je 0x4184a9
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x38], esp
call fcn.00404ed0
push ebp
call fcn.0041c120
jmp 0x41956f
push edx
lea edi, [esp + 0x850]
call fcn.00404dd0
mov esi, str.HASH
mov ecx, eax
mov byte [esp + 0x1c24], 0x97
call fcn.00403900
mov ecx, edi
mov bl, al
mov byte [esp + 0x1c24], 1
call fcn.004044f0
test bl, bl
je 0x418504
sub esp, 0x1c
mov ecx, 4
mov eax, esp
lea edx, [esp + 0x1f4]
mov dword [esp + 0x38], esp
call fcn.00404ed0
push ebp
call fcn.0041c6a0
jmp 0x41956f
mov ecx, str.501_Option_not_understood
jmp 0x419566
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
je 0x418695
push 1
mov ecx, str.214_The_following_commands_are_recognized:
mov esi, ebp
call fcn.00412bc0
lea eax, [esp + 0x1bc]
call fcn.00404520
mov byte [esp + 0x1c24], 0x98
xor edi, edi
mov dword [esp + 0x14], 0x47dfec
mov dword [esp + 0x1c], 0x31
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x214]
push ecx
call fcn.00406860
mov esi, 4
mov byte [esp + 0x1c24], 0x99
cmp dword [esp + 0x220], esi
jge 0x4185a0
push 0x47caa4
lea ecx, [esp + 0x214]
call fcn.004054a0
add esp, 4
cmp dword [esp + 0x220], esi
jl 0x418583
lea edx, [esp + 0x210]
push edx
lea eax, [esp + 0x888]
push eax
mov ebx, 0x481b68
call fcn.00420c90
add esp, 8
push 0
push eax
or eax, 0xffffffff
lea esi, [esp + 0x1c4]
mov byte [esp + 0x1c2c], 0x9a
call fcn.00405280
lea ecx, [esp + 0x884]
mov byte [esp + 0x1c24], 0x99
call fcn.004044f0
inc edi
mov ecx, edi
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x4185fb
dec ecx
or ecx, 0xfffffff8
inc ecx
jne 0x418632
cmp dword [esp + 0x1d0], 8
mov ecx, dword [esp + 0x1bc]
jae 0x418615
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
push 0x47ca70
lea ebx, [esp + 0x1c0]
call fcn.00406760
add esp, 4
lea ecx, [esp + 0x210]
mov byte [esp + 0x1c24], 0x98
call fcn.004044f0
add dword [esp + 0x14], 0x18
dec dword [esp + 0x1c]
jne 0x41855b
mov esi, 0x47ca70
lea ecx, [esp + 0x1bc]
call fcn.0041ea60
test al, al
je 0x41868b
cmp dword [esp + 0x1d0], 8
mov ecx, dword [esp + 0x1bc]
jae 0x418682
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
mov ecx, str.214_Have_a_nice_day.
jmp 0x413996
lea edx, [esp + 0x1d8]
push edx
call fcn.0041cca0
xor ebx, ebx
mov esi, 0x47dfec
xor edi, edi
jmp 0x4186b0
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x4186d1
add edi, 0x18
inc ebx
add esi, 0x18
cmp edi, 0x498
jb 0x4186b0
jmp 0x418740
lea eax, [esp + 0x1bc]
call fcn.00404520
sub esp, 0x1c
mov byte [esp + 0x1c40], 0x9b
lea ecx, [esp + 0x1f4]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.214_Command__s_is_supported_by_FileZilla_Server
lea edx, [esp + 0x1dc]
call fcn.0041e9c0
cmp dword [esp + 0x1d0], 8
mov ecx, dword [esp + 0x1bc]
jae 0x418723
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x1c24], 1
call fcn.004044f0
cmp ebx, 0x31
jne 0x41956f
lea eax, [esp + 0x1bc]
call fcn.00404520
sub esp, 0x1c
mov byte [esp + 0x1c40], 0x9c
lea ecx, [esp + 0x1f4]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.502_Command__s_is_not_recognized_or_supported_by_FileZilla_Server
lea edx, [esp + 0x1dc]
call fcn.0041e9c0
cmp dword [esp + 0x1d0], 8
mov ecx, dword [esp + 0x1bc]
jae 0x41879b
lea ecx, [esp + 0x1bc]
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
mov ecx, str.202_No_storage_allocation_neccessary.
jmp 0x419566
lea eax, [esp + 0x1f4]
call fcn.00404520
lea eax, [esp + 0x1bc]
call fcn.00404520
lea eax, [ebp + 0x99e]
push eax
lea ecx, [esp + 0x1f8]
push ecx
sub esp, 0x1c
mov bl, 0x9e
mov byte [esp + 0x1c48], bl
lea ecx, [esp + 0x1fc]
mov esi, esp
lea edi, [esp + 0x1e0]
mov dword [esp + 0x40], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c64], 0x9f
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x54], esp
call fcn.004044c0
cmp dword [ebp + 0x908], 8
lea eax, [ebp + 0x8f4]
jb 0x418838
mov eax, dword [eax]
mov edx, dword [ebp + 0x54]
mov byte [esp + 0x1c64], bl
mov edx, dword [edx + 0x14]
push eax
mov ecx, edi
call fcn.00439390
test al, 1
je 0x418864
push 1
mov ecx, str.550_Permission_denied.
mov esi, ebp
call fcn.00412bc0
jmp 0x4151d8
test al, 0x20
je 0x41887b
push 1
mov ecx, str.550_Filename_invalid.
mov esi, ebp
call fcn.00412bc0
jmp 0x4151d8
test eax, eax
je 0x418892
push 1
mov ecx, str.550_File_or_directory_not_found.
mov esi, ebp
call fcn.00412bc0
jmp 0x4151d8
lea eax, [esp + 0x210]
call fcn.00404520
sub esp, 0x1c
mov byte [esp + 0x1c40], 0xa0
lea ecx, [esp + 0x1d8]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004044c0
push str.250_Listing__s
lea edx, [esp + 0x230]
call fcn.0041e9c0
cmp dword [esp + 0x224], 8
mov ecx, dword [esp + 0x210]
jae 0x4188e4
lea ecx, [esp + 0x210]
push 1
mov esi, ebp
call fcn.00412bc0
test eax, eax
jne 0x418902
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x4151d8
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x8c0]
push ecx
mov ebx, 0x47caa4
call fcn.00420c90
add esp, 8
mov edi, eax
lea eax, [esp + 0x1f4]
mov byte [esp + 0x1c24], 0xa1
call fcn.00402ba0
lea ecx, [esp + 0x8bc]
mov byte [esp + 0x1c24], 0xa0
call fcn.004044f0
cmp dword [esp + 0x208], 8
mov ecx, dword [esp + 0x1f4]
jae 0x418961
lea ecx, [esp + 0x1f4]
push 1
mov esi, ebp
call fcn.00412bc0
test eax, eax
jne 0x41897f
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x4151d8
push 1
mov ecx, str.250_End
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x210]
call fcn.004044f0
jmp 0x4151d8
mov eax, dword [ebp + 0x930]
cmp eax, edi
jne 0x4189b2
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
test eax, eax
jne 0x4189dc
lea ecx, [ebp + 0x944]
mov esi, 0x47ca70
call fcn.00403900
test al, al
jne 0x4189d2
cmp dword [ebp + 0x960], edi
jne 0x4189dc
mov ecx, str.503_Bad_sequence_of_commands.
jmp 0x419566
cmp dword [ebp + 0x80], 0
je 0x418a0d
mov edx, dword [ebp + 0x54]
mov eax, dword [edx + 0x18]
push eax
mov eax, 0x32
call fcn.0042c450
or eax, edx
je 0x418a0d
cmp byte [ebp + 0x99c], 0
jne 0x418a0d
mov ecx, str.521_PROT_P_required
jmp 0x419566
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.0041ea60
test al, al
je 0x418a3c
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x418a3c
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x210]
call fcn.00404520
lea eax, [esp + 0x1bc]
call fcn.00404520
mov byte [esp + 0x1c24], 0xa3
movzx edx, byte [ebp + 0x99d]
lea ecx, [ebp + 0x99e]
push ecx
push edx
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esp + 0x20]
push ecx
sub esp, 0x1c
lea ecx, [esp + 0x204]
mov esi, esp
mov edi, 0x4304e0
lea ebx, [esp + 0x23c]
mov dword [esp + 0x48], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c6c], 0xa4
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x5c], esp
call fcn.004044c0
cmp dword [ebp + 0x908], 8
lea eax, [ebp + 0x8f4]
jb 0x418ac6
mov eax, dword [eax]
mov edx, dword [ebp + 0x54]
push eax
mov eax, dword [edx + 0x14]
push eax
mov edx, edi
mov ecx, ebx
mov byte [esp + 0x1c74], 0xa3
call fcn.00430920
test al, 1
je 0x418aed
mov ecx, str.550_Permission_denied
jmp 0x416c1e
test al, 0x20
je 0x418afb
mov ecx, str.550_Filename_invalid.
jmp 0x416c1e
test eax, eax
je 0x418b09
mov ecx, str.550_Directory_not_found
jmp 0x416c1e
cmp dword [ebp + 0x930], 0
jne 0x418c24
cmp dword [ebp + 0x964], 0
je 0x418b96
push 0x482fa4
lea ecx, [esp + 0x54]
push ecx
call fcn.00420c00
push 0x482fa4
lea edx, [esp + 0x70]
push edx
mov byte [esp + 0x1c2c], 0xa5
call fcn.00420c00
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x80]
push ecx
push 0
push ebp
mov byte [esp + 0x1c44], 0xa6
call fcn.0041b6e0
lea ecx, [esp + 0x6c]
call fcn.004044f0
lea ecx, [esp + 0x50]
mov byte [esp + 0x1c24], 0xa3
call fcn.004044f0
mov ecx, dword [ebp + 0x964]
test ecx, ecx
je 0x418b96
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
push 0x130
call fcn.004596f4
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1c24], 0xa7
test eax, eax
je 0x418bbe
push ebp
push eax
call fcn.0044ee00
mov esi, eax
jmp 0x418bc0
xor esi, esi
mov byte [esp + 0x1c24], 0xa3
mov ecx, dword [esp + 0x14]
push 1
push ecx
mov dword [ebp + 0x964], esi
call fcn.0044ef60
cmp dword [ebp + 0x990], 1
jne 0x418bf7
mov edx, dword [ebp + 0x994]
push edx
call fcn.00450f90
test al, al
je 0x416c19
push ebp
mov ebx, esi
call fcn.0041b110
test eax, eax
je 0x416c2c
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x224]
push ecx
jmp 0x416c83
mov esi, dword [ebp + 0x964]
test esi, esi
jne 0x418c4a
mov eax, dword [esp + 0x14]
call fcn.0043c5d0
push 1
mov ecx, str.503_Bad_sequence_of_commands.
mov esi, ebp
call fcn.00412bc0
jmp 0x416c2c
mov edx, dword [esp + 0x14]
push 1
push edx
call fcn.0044ef60
cmp dword [ebp + 0x990], 1
jne 0x418c79
mov eax, dword [ebp + 0x994]
mov esi, dword [ebp + 0x964]
push eax
call fcn.00450f90
test al, al
je 0x416c19
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
lea ecx, [esp + 0x1cc]
push ecx
lea edx, [esp + 0x224]
push edx
jmp 0x416d1c
lea eax, [esp + 0x1bc]
call fcn.00404520
lea eax, [esp + 0x1d8]
mov bl, 0xa8
push eax
mov byte [esp + 0x1c28], bl
call fcn.0041cca0
mov eax, 0x20
lea edx, [esp + 0x1d8]
call fcn.00404da0
mov esi, eax
cmp esi, edi
je 0x418d64
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, esi
lea edi, [esp + 0x8f8]
call fcn.00404dd0
mov edi, eax
lea eax, [esp + 0x1bc]
mov byte [esp + 0x1c24], 0xa9
call fcn.00402ba0
lea ecx, [esp + 0x8f4]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
lea ecx, [esi + 1]
lea eax, [esp + 0x92c]
lea edx, [esp + 0x1d8]
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1d8]
mov byte [esp + 0x1c24], 0xaa
call fcn.00402ba0
lea ecx, [esp + 0x92c]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
mov edx, 0x47caa4
lea eax, [esp + 0x1d8]
call fcn.0041cff0
jmp 0x418d86
lea edi, [esp + 0x1d8]
lea eax, [esp + 0x1bc]
call fcn.00402ba0
push 0x47ca70
mov ebx, edi
call fcn.00406760
add esp, 4
mov esi, str.NAMEFMT
lea ecx, [esp + 0x1bc]
call fcn.00403900
test al, al
je 0x418dd8
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x418dce
mov esi, 0x481d5c
lea ecx, [esp + 0x1d8]
call fcn.00403900
mov ecx, str.504_Naming_format_not_implemented
test al, al
je 0x413996
mov ecx, 0x481d60
jmp 0x413996
mov ecx, str.504_Command_not_implemented_for_that_parameter
jmp 0x413996
lea edx, [esp + 0x1d8]
push edx
call fcn.0041cca0
mov esi, 0x481de4
lea ecx, [esp + 0x1d8]
call fcn.00403900
push 1
mov esi, ebp
test al, al
je 0x418e12
mov ecx, 0x481de8
jmp 0x41956a
mov ecx, str.504_Command_not_implemented_for_that_parameter
jmp 0x41956a
mov ecx, str.200_Dont_care
jmp 0x419566
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1dc]
push ecx
mov ebx, 1
xor eax, eax
mov dword [esp + 0x24], 0x20
call fcn.00405040
mov esi, eax
cmp esi, ebx
jge 0x418e57
mov ecx, str.501_Syntax_error
jmp 0x419566
lea edx, [esp + 0x1d8]
push edx
mov ecx, esi
lea edi, [esp + 0x1f8]
call fcn.00404dd0
mov bl, 0xab
lea ecx, [esi + 1]
lea eax, [esp + 0x964]
lea edx, [esp + 0x1d8]
mov byte [esp + 0x1c24], bl
call fcn.00404ed0
mov edi, eax
lea eax, [esp + 0x1d8]
mov byte [esp + 0x1c24], 0xac
call fcn.00402ba0
lea ecx, [esp + 0x964]
mov byte [esp + 0x1c24], bl
call fcn.004044f0
cmp dword [esp + 0x204], 0xe
jge 0x418ede
push 1
mov ecx, str.501_Syntax_error
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
jmp 0x41956f
mov ecx, dword [esp + 0x208]
mov ebx, dword [esp + 0x1f4]
xor eax, eax
mov edi, edi
mov edx, ebx
cmp ecx, 8
jae 0x418efe
lea edx, [esp + 0x1f4]
cmp word [eax + edx], 0x30
jb 0x418ebf
mov edx, ebx
cmp ecx, 8
jae 0x418f13
lea edx, [esp + 0x1f4]
cmp word [eax + edx], 0x39
ja 0x418ebf
add eax, 2
cmp eax, 0x1c
jl 0x418ef0
mov eax, ebx
cmp ecx, 8
jae 0x4190fe
lea eax, [esp + 0x1f4]
mov edi, eax
mov esi, ebx
cmp ecx, 8
jae 0x419105
lea esi, [esp + 0x1f4]
mov edx, esi
movzx eax, word [eax]
movzx edi, word [edi + 2]
movzx esi, word [esi + 4]
movzx edx, word [edx + 6]
lea eax, [eax + eax*4]
lea eax, [edi + eax*2]
lea eax, [eax + eax*4]
lea eax, [esi + eax*2]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0xd050]
mov dword [esp + 0x1c], eax
mov eax, ebx
cmp ecx, 8
jae 0x41910c
lea eax, [esp + 0x1f4]
mov edx, eax
movzx eax, word [eax + 8]
movzx edx, word [edx + 0xa]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0x210]
mov dword [esp + 0x14], eax
mov eax, ebx
cmp ecx, 8
jae 0x419113
lea eax, [esp + 0x1f4]
mov edx, eax
movzx eax, word [eax + 0xc]
movzx edx, word [edx + 0xe]
lea eax, [eax + eax*4]
lea edi, [edx + eax*2 - 0x210]
mov eax, ebx
cmp ecx, 8
jae 0x41911a
lea eax, [esp + 0x1f4]
mov edx, eax
movzx eax, word [eax + 0x10]
movzx edx, word [edx + 0x12]
lea eax, [eax + eax*4]
lea esi, [edx + eax*2 - 0x210]
mov eax, ebx
cmp ecx, 8
jae 0x419121
lea eax, [esp + 0x1f4]
mov edx, eax
movzx eax, word [eax + 0x14]
movzx edx, word [edx + 0x16]
lea eax, [eax + eax*4]
lea edx, [edx + eax*2 - 0x210]
mov eax, ebx
cmp ecx, 8
jae 0x419128
lea eax, [esp + 0x1f4]
mov ecx, eax
cmp dword [esp + 0x1c], 0x3e8
movzx eax, word [eax + 0x18]
movzx ecx, word [ecx + 0x1a]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2 - 0x210]
jl 0x4190df
mov eax, dword [esp + 0x14]
dec eax
cmp eax, 0xb
ja 0x4190df
lea eax, [edi - 1]
cmp eax, 0x1e
ja 0x4190df
cmp esi, 0x17
jg 0x4190df
mov ebx, 0x3b
cmp edx, ebx
jg 0x4190df
cmp ecx, ebx
jg 0x4190df
xor eax, eax
mov dword [esp + 0x232], eax
mov dword [esp + 0x236], eax
mov dword [esp + 0x22e], eax
mov word [esp + 0x23a], ax
movzx eax, word [esp + 0x1c]
mov word [esp + 0x238], cx
mov word [esp + 0x22c], ax
movzx eax, word [esp + 0x14]
lea ecx, [esp + 0x2c]
mov word [esp + 0x236], dx
push ecx
lea edx, [esp + 0x230]
push edx
mov word [esp + 0x236], ax
mov word [esp + 0x23a], di
mov word [esp + 0x23c], si
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
test eax, eax
jne 0x41912f
push 1
mov ecx, str.501_Not_a_valid_date
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
jmp 0x41956f
mov edi, ebx
jmp 0x418f36
mov edx, ebx
jmp 0x418f4a
mov edx, ebx
jmp 0x418f87
mov edx, ebx
jmp 0x418fb1
mov edx, ebx
jmp 0x418fd7
mov edx, ebx
jmp 0x418ffd
mov ecx, ebx
jmp 0x419023
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
je 0x418ebf
mov esi, 0x47ca70
lea ecx, [esp + 0x1d8]
call fcn.00403900
test al, al
jne 0x418ebf
lea eax, [esp + 0x1bc]
call fcn.00404520
lea eax, [esp + 0x210]
call fcn.00404520
lea eax, [esp + 0x210]
push eax
lea ecx, [esp + 0x1c0]
push ecx
push 0x80
sub esp, 0x1c
mov bl, 0xae
mov byte [esp + 0x1c4c], bl
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x44], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c68], 0xaf
lea ecx, [esp + 0x21c]
mov esi, esp
mov dword [esp + 0x58], esp
call fcn.004044c0
lea eax, [ebp + 0x8f4]
mov esi, 8
cmp dword [eax + 0x14], esi
jb 0x4191d5
mov eax, dword [eax]
mov ecx, dword [ebp + 0x54]
mov byte [esp + 0x1c68], bl
mov ecx, dword [ecx + 0x14]
mov edx, eax
call fcn.004324d0
test al, 1
je 0x419200
push 1
mov ecx, str.550_Permission_denied
mov esi, ebp
call fcn.00412bc0
jmp 0x41936e
test al, 0x20
je 0x419217
push 1
mov ecx, str.550_Filename_invalid.
mov esi, ebp
call fcn.00412bc0
jmp 0x41936e
test al, 2
je 0x41922e
push 1
mov ecx, str.550_File_not_found
mov esi, ebp
call fcn.00412bc0
jmp 0x41936e
mov eax, dword [esp + 0x1bc]
cmp dword [esp + 0x1d0], esi
jae 0x419245
lea eax, [esp + 0x1bc]
push 0
push 0x2000000
push 3
push 0
push 3
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov dword [esp + 0x1c], edi
cmp edi, 0xffffffff
jne 0x41927c
push 1
mov ecx, str.550_Cannot_access_file
mov esi, ebp
call fcn.00412bc0
jmp 0x41936e
lea edx, [esp + 0x2c]
push edx
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne 0x4192a3
push 1
mov ecx, str.550_Failed_to_set_file_modification_time
mov esi, ebp
call fcn.00412bc0
jmp 0x419367
lea eax, [esp + 0x1f4]
push eax
mov ecx, 0xe
lea edi, [esp + 0xa48]
call fcn.00404dd0
push eax
lea ecx, [esp + 0xa10]
push ecx
mov ebx, str.213_modify
mov byte [esp + 0x1c2c], 0xb0
call fcn.00420c90
lea edx, [esp + 0x9dc]
push edx
mov ebx, 0x481efc
mov ecx, eax
mov byte [esp + 0x1c30], 0xb1
call fcn.00420980
add esp, 0xc
lea ecx, [esp + 0x210]
push ecx
lea edx, [esp + 0x9a0]
push edx
mov ecx, eax
mov byte [esp + 0x1c2c], 0xb2
call fcn.00420900
add esp, 8
mov byte [esp + 0x1c24], 0xb3
cmp dword [eax + 0x14], 8
jb 0x419328
mov eax, dword [eax]
push 1
mov ecx, eax
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x99c]
call fcn.004044f0
lea ecx, [esp + 0x9d4]
call fcn.004044f0
lea ecx, [esp + 0xa0c]
call fcn.004044f0
lea ecx, [esp + 0xa44]
call fcn.004044f0
mov edi, dword [esp + 0x1c]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
lea ecx, [esp + 0x1f4]
call fcn.004044f0
jmp 0x41956f
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0x3d
call fcn.0042c450
or eax, edx
jne 0x4193b6
mov ecx, str.500_Syntax_error__command_unrecognized.
jmp 0x419566
lea ecx, [esp + 0x1d8]
call fcn.0041a5d0
test eax, eax
jne 0x4193d0
mov ecx, str.501_Syntax_error
jmp 0x419566
lea eax, [esp + 0x1bc]
call fcn.00404520
lea eax, [esp + 0x210]
call fcn.00404520
lea edx, [esp + 0x210]
push edx
lea eax, [esp + 0x1c0]
push eax
push 1
sub esp, 0x1c
mov bl, 0xb5
mov byte [esp + 0x1c4c], bl
lea ecx, [ebp + 0x8d4]
mov esi, esp
mov dword [esp + 0x44], esp
call fcn.004044c0
sub esp, 0x1c
mov byte [esp + 0x1c68], 0xb6
lea ecx, [esp + 0x21c]
mov esi, esp
mov dword [esp + 0x58], esp
call fcn.004044c0
lea eax, [ebp + 0x8f4]
mov esi, 8
cmp dword [eax + 0x14], esi
jb 0x419446
mov eax, dword [eax]
mov ecx, dword [ebp + 0x54]
mov byte [esp + 0x1c68], bl
mov ecx, dword [ecx + 0x14]
mov edx, eax
call fcn.004324d0
test al, 1
je 0x41948e
push 1
mov ecx, str.550_Permission_denied
mov esi, ebp
call fcn.00412bc0
call fcn.0041a440
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
test al, 0x20
je 0x4194c2
push 1
mov ecx, str.550_Filename_invalid.
mov esi, ebp
call fcn.00412bc0
call fcn.0041a440
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
test eax, eax
je 0x4194f3
push 1
mov ecx, str.550_File_not_found
mov esi, ebp
call fcn.00412bc0
call fcn.0041a440
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
mov edi, dword [esp + 0x1bc]
cmp dword [esp + 0x1d0], esi
jae 0x41950a
lea edi, [esp + 0x1bc]
mov edx, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x9a8]
push edx
lea eax, [ebp + 0x9a4]
push eax
push ecx
call fcn.00447bd0
mov esi, eax
call fcn.004259f0
cmp eax, 2
jne 0x419534
mov ecx, str.450_Another_hash_operation_is_already_in_progress.
jmp 0x41953e
cmp eax, 1
je 0x419547
mov ecx, str.550_Failed_to_hash_file
push 1
mov esi, ebp
call fcn.00412bc0
lea ecx, [esp + 0x210]
call fcn.004044f0
lea ecx, [esp + 0x1bc]
call fcn.004044f0
jmp 0x41956f
mov ecx, str.502_Command_not_implemented.
push 1
mov esi, ebp
call fcn.00412bc0
cmp dword [ebp + 0x88], 0
je 0x41958f
mov edx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x78]
push edx
mov edx, dword [0x49131c]
mov ecx, 2
call fcn.0044b670
mov esi, 8
cmp dword [esp + 0x1ec], esi
jb 0x4195ad
mov eax, dword [esp + 0x1d8]
push eax
call fcn.004593e2
add esp, 4
xor ecx, ecx
cmp dword [esp + 0x25c], esi
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1ec], 7
mov word [esp + 0x1d8], cx
jb 0x4195e2
mov edx, dword [esp + 0x248]
push edx
call fcn.004593e2
add esp, 4
mov ecx, dword [esp + 0x1c1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1c00]
xor ecx, esp
call fcn.004593ed
add esp, 0x1c14
ret 4