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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x80
mov ebp, dword [esp + 0x9c]
mov esi, dword [esp + 0x94]
mov eax, dword [esi + 0x34]
mov ecx, eax
or ecx, 8
mov dword [esi + 0x34], ecx
mov ecx, dword [ebp]
test ecx, ecx
je 0x6b4bf072
cmp dword [esi + 0x40], 0
jne 0x6b4bf0bb
jmp 0x6b4bf0d2
mov ecx, dword [esp + 0x98]
or eax, 9
mov dword [esi + 0x34], eax
test ecx, ecx
je 0x6b4bf0a9
mov dword [esi + 0x40], 0
mov eax, dword [esi + 0x58]
test eax, eax
je 0x6b4bf0a2
mov eax, dword [eax + 0x20]
test eax, eax
je 0x6b4bf0a2
lea ecx, [esi + 0x5c]
push ecx
push esi
call eax
add esp, 8
mov dword [esi + 0x58], 0
mov dword [ebp], 2
mov ecx, 2
cmp dword [esi + 0x40], 0
je 0x6b4bf0d2
cmp dword [esi + 0x58], 0
je 0x6b4bf0d2
mov dword [ebp], 5
mov ecx, 5
jmp 0x6b4bf338
cmp ecx, 4
je 0x6b4bf1eb
cmp ecx, 3
je 0x6b4bf112
cmp ecx, 2
jne 0x6b4bf338
mov eax, dword [esi + 0xf4]
mov dword [ebp + 0x1e4], eax
mov eax, dword [esi + 0xf8]
mov dword [ebp + 0x1e8], eax
mov dword [esi + 0xf4], 0
mov dword [ebp], 3
cmp dword [esi + 0xcb58], 0
je 0x6b4bf16a
mov edi, dword [esi + 0xcb5c]
mov eax, dword [esi + 0xcb60]
mov dword [esi + 0xcb5c], 0
mov dword [esi + 0xcb60], 0
push 0
push 0
mov ebp, eax
push eax
mov ebx, edi
push edi
push esi
call fcn.6b4d2110
add esp, 0x14
test eax, eax
je 0x6b4bf183
mov edi, eax
cmp eax, 0xffffffdb
jne 0x6b4bf1b4
mov dword [esi + 0xcb5c], ebx
mov dword [esi + 0xcb60], ebp
jmp 0x6b4bf868
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x6b4bf3ba
push eax
call sub.msvcrt.dll_strlen
add esp, 4
jmp 0x6b4bf484
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x6b4bf195
push esi
push eax
call dword [esi + 0xc]
add esp, 8
mov dword [esi + 0xf4], ebx
mov dword [esi + 0xf8], ebp
mov dword [esi + 0xcb58], 0
mov ebp, dword [esp + 0x9c]
jmp 0x6b4bf1e4
push esi
push ebx
call dword [esi + 0xc]
add esp, 8
mov dword [esi + 0xcb58], 0
push str.Unable_to_send_KEXINIT_packet_to_remote_host
push edi
push esi
call fcn.6b4c5c00
add esp, 0xc
mov ebp, dword [esp + 0x9c]
test eax, eax
jne 0x6b4bf863
mov dword [ebp], 4
lea edi, [ebp + 0x1dc]
lea ebx, [ebp + 0x1e0]
lea eax, [ebp + 4]
push eax
push 0
push 0
push 0
push ebx
push edi
push 0x14
push esi
call fcn.6b4c7730
add esp, 0x20
test eax, eax
je 0x6b4bf236
cmp eax, 0xffffffdb
je 0x6b4bf868
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x6b4bf873
push esi
push eax
call dword [esi + 0xc]
add esp, 8
jmp 0x6b4bf873
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x6b4bf248
push esi
push eax
call dword [esi + 0xc]
add esp, 8
mov eax, dword [edi]
mov dword [esi + 0xbc], eax
mov eax, dword [ebx]
mov dword [esi + 0xc0], eax
mov eax, dword [ebx]
cmp eax, 0x11
jb 0x6b4bf321
mov ecx, dword [edi]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], eax
add ecx, 0x11
mov dword [esp + 0x38], ecx
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x7c]
lea edi, [esp + 0x34]
push eax
push ecx
push edi
call fcn.6b4c63e0
add esp, 0xc
test eax, eax
jne 0x6b4bf321
lea eax, [esp + 0x58]
lea ecx, [esp + 0x78]
push eax
push ecx
push edi
call fcn.6b4c63e0
add esp, 0xc
test eax, eax
jne 0x6b4bf321
lea eax, [esp + 0x54]
lea ecx, [esp + 0x74]
push eax
push ecx
push edi
call fcn.6b4c63e0
add esp, 0xc
test eax, eax
jne 0x6b4bf321
lea eax, [esp + 0x50]
lea ecx, [esp + 0x70]
push eax
push ecx
push edi
call fcn.6b4c63e0
add esp, 0xc
test eax, eax
jne 0x6b4bf321
lea eax, [esp + 0x44]
lea ecx, [esp + 0x64]
push eax
push ecx
push edi
call fcn.6b4c63e0
add esp, 0xc
test eax, eax
jne 0x6b4bf321
lea eax, [esp + 0x40]
lea ecx, [esp + 0x60]
push eax
push ecx
push edi
call fcn.6b4c63e0
add esp, 0xc
test eax, eax
jne 0x6b4bf321
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x6c]
push eax
push ecx
push edi
call fcn.6b4c63e0
add esp, 0xc
test eax, eax
je 0x6b4bfde1
xor eax, eax
mov dword [ebp], 5
mov edi, 0xfffffffb
mov ecx, 5
test al, al
je 0x6b4bf372
mov edx, dword [esi + 0x40]
xor edi, edi
test edx, edx
je 0x6b4bf372
cmp ecx, 5
jne 0x6b4bf372
lea eax, [ebp + 0xc]
push eax
push esi
call dword [edx + 4]
add esp, 8
mov edi, eax
test eax, eax
je 0x6b4bf372
cmp edi, 0xffffffdb
je 0x6b4bf868
push 0x6b748888
push 0xfffffffffffffff8
push esi
call fcn.6b4c5c00
add esp, 0xc
mov edi, eax
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x6b4bf38e
push esi
push eax
call dword [esi + 0xc]
add esp, 8
mov dword [esi + 0xf4], 0
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x6b4bf3aa
push esi
push eax
call dword [esi + 0xc]
add esp, 8
mov dword [esi + 0xbc], 0
and byte [esi + 0x34], 0xf6
mov dword [ebp], 0
jmp 0x6b4bf89b
push str.curve25519_sha256
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
push str.curve25519_sha256_libssh.org
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
add ebx, edi
push 0x6b748d50
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
add edi, ebx
push str.ecdh_sha2_nistp384
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
add ebx, edi
push str.ecdh_sha2_nistp521
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
add edi, ebx
push str.diffie_hellman_group_exchange_sha256
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
add ebx, edi
push str.diffie_hellman_group16_sha512
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
add edi, ebx
push str.diffie_hellman_group18_sha512
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
add ebx, edi
push str.diffie_hellman_group14_sha256
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
add edi, ebx
push str.diffie_hellman_group14_sha1
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
add ebx, edi
push str.diffie_hellman_group1_sha1
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
add edi, ebx
push str.diffie_hellman_group_exchange_sha1
call sub.msvcrt.dll_strlen
add esp, 4
lea eax, [eax + edi + 0xb]
mov dword [esp], eax
mov eax, dword [esi + 0x30]
test eax, eax
je 0x6b4bf61e
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
mov dword [esp + 0x18], ebx
mov eax, dword [esi + 0x118]
test eax, eax
je 0x6b4bf662
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
mov dword [esp + 4], edi
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x6b4bf6b2
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
mov dword [esp + 8], edi
mov eax, dword [esi + 0x11c]
test eax, eax
je 0x6b4bf702
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
mov dword [esp + 0xc], edi
mov eax, dword [esi + 0xe4]
test eax, eax
je 0x6b4bf752
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
mov dword [esp + 0x10], edi
mov eax, dword [esi + 0x120]
test eax, eax
je 0x6b4bf7a2
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
mov dword [esp + 0x14], edi
mov eax, dword [esi + 0xe8]
test eax, eax
je 0x6b4bf7f2
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x124]
xor ebx, ebx
test eax, eax
mov ecx, 0
je 0x6b4bf567
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0xec]
test eax, eax
je 0x6b4bf580
push eax
mov ebx, ecx
call sub.msvcrt.dll_strlen
mov ecx, ebx
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp]
add eax, edx
add eax, dword [esp + 4]
add eax, dword [esp + 8]
add eax, dword [esp + 0xc]
add eax, dword [esp + 0x10]
add eax, dword [esp + 0x14]
mov dword [esp + 0x20], edi
add eax, edi
mov dword [esp + 0x2c], ecx
add eax, ecx
lea eax, [ebx + eax + 0x3e]
push esi
mov dword [esp + 0x34], eax
push eax
call dword [esi + 4]
add esp, 8
test eax, eax
je 0x6b4bf842
mov edi, eax
inc eax
mov byte [edi], 0x14
push 0x10
push eax
call fcn.6b5a86c0
add esp, 8
cmp eax, 1
jne 0x6b4bf84b
mov dword [esp + 0x1c], ebx
lea ebp, [edi + 0x11]
mov ebx, edi
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x28], eax
mov edi, dword [esp]
push edi
push ebp
call fcn.6b4c5d10
add esp, 8
mov dword [esp + 0x24], ebx
add ebx, 0x15
cmp dword [esp + 0x28], 0
je 0x6b4bf8a8
push edi
push dword [esi + 0x2c]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, edi
jmp 0x6b4bf901
call fcn.6b4be250
xor ebx, ebx
test eax, eax
je 0x6b4bf49d
mov edi, eax
mov eax, dword [eax]
test eax, eax
je 0x6b4bf49d
add edi, 4
xor ebx, ebx
nop
nop
mov eax, dword [eax]
test eax, eax
je 0x6b4bf65c
push eax
call sub.msvcrt.dll_strlen
add esp, 4
lea ebx, [ebx + eax + 1]
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x6b4bf640
dec ebx
jmp 0x6b4bf49d
call fcn.6b4d9e10
xor edi, edi
test eax, eax
je 0x6b4bf4ba
mov ebx, eax
mov eax, dword [eax]
test eax, eax
je 0x6b4bf4ba
add ebx, 4
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [eax]
test eax, eax
je 0x6b4bf6ac
push eax
call sub.msvcrt.dll_strlen
add esp, 4
lea edi, [edi + eax + 1]
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x6b4bf690
dec edi
jmp 0x6b4bf4ba
call fcn.6b4d9e10
xor edi, edi
test eax, eax
je 0x6b4bf4d7
mov ebx, eax
mov eax, dword [eax]
test eax, eax
je 0x6b4bf4d7
add ebx, 4
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [eax]
test eax, eax
je 0x6b4bf6fc
push eax
call sub.msvcrt.dll_strlen
add esp, 4
lea edi, [edi + eax + 1]
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x6b4bf6e0
dec edi
jmp 0x6b4bf4d7
call fcn.6b4c5750
xor edi, edi
test eax, eax
je 0x6b4bf4f4
mov ebx, eax
mov eax, dword [eax]
test eax, eax
je 0x6b4bf4f4
add ebx, 4
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [eax]
test eax, eax
je 0x6b4bf74c
push eax
call sub.msvcrt.dll_strlen
add esp, 4
lea edi, [edi + eax + 1]
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x6b4bf730
dec edi
jmp 0x6b4bf4f4
call fcn.6b4c5750
xor edi, edi
test eax, eax
je 0x6b4bf511
mov ebx, eax
mov eax, dword [eax]
test eax, eax
je 0x6b4bf511
add ebx, 4
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [eax]
test eax, eax
je 0x6b4bf79c
push eax
call sub.msvcrt.dll_strlen
add esp, 4
lea edi, [edi + eax + 1]
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x6b4bf780
dec edi
jmp 0x6b4bf511
push esi
call fcn.6b4d9b20
add esp, 4
xor edi, edi
test eax, eax
je 0x6b4bf52e
mov ebx, eax
mov eax, dword [eax]
test eax, eax
je 0x6b4bf52e
add ebx, 4
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [eax]
test eax, eax
je 0x6b4bf7ec
push eax
call sub.msvcrt.dll_strlen
add esp, 4
lea edi, [edi + eax + 1]
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x6b4bf7d0
dec edi
jmp 0x6b4bf52e
push esi
call fcn.6b4d9b20
add esp, 4
xor edi, edi
test eax, eax
je 0x6b4bf54b
mov ebx, eax
mov eax, dword [eax]
test eax, eax
je 0x6b4bf54b
add ebx, 4
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [eax]
test eax, eax
je 0x6b4bf83c
push eax
call sub.msvcrt.dll_strlen
add esp, 4
lea edi, [edi + eax + 1]
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x6b4bf820
dec edi
jmp 0x6b4bf54b
push str.Unable_to_allocate_memory
push 0xfffffffffffffffa
jmp 0x6b4bf852
push str.Unable_to_get_random_bytes_for_KEXINIT_cookie
push 0xffffffffffffffcf
push esi
call fcn.6b4c5c00
add esp, 0xc
test eax, eax
je 0x6b4bf1e4
cmp eax, 0xffffffdb
jne 0x6b4bf873
and byte [esi + 0x34], 0xf7
mov edi, 0xffffffdb
jmp 0x6b4bf89b
mov eax, dword [ebp + 0x1e4]
mov dword [esi + 0xf4], eax
mov eax, dword [ebp + 0x1e8]
mov dword [esi + 0xf8], eax
mov dword [ebp], 0
and byte [esi + 0x34], 0xf6
mov edi, 0xffffffff
mov eax, edi
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0x6b748a48
mov edi, 0x6b7488b0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [eax]
test eax, eax
je 0x6b4bf8f3
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov esi, ebx
mov ebx, eax
mov eax, dword [edi - 4]
push ebx
push dword [eax]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0x2c
lea ebx, [esi + ebx + 1]
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x6b4bf8c0
mov eax, dword [esp]
lea ebx, [eax + ebp + 4]
mov esi, dword [esp + 0x94]
cmp dword [esi + 0x30], 0
mov ebp, dword [esp + 4]
je 0x6b4bf92f
mov edi, dword [esp + 0x18]
push edi
push ebx
call fcn.6b4c5d10
add esp, 8
lea eax, [ebx + 4]
push edi
push dword [esi + 0x30]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ebx, [ebx + edi + 4]
jmp 0x6b4bf9a3
call fcn.6b4be250
mov ecx, ebx
mov ebx, eax
push dword [esp + 0x18]
mov dword [esp + 4], ecx
push ecx
call fcn.6b4c5d10
add esp, 8
mov ecx, 4
test ebx, ebx
je 0x6b4bf99e
mov eax, dword [ebx]
test eax, eax
je 0x6b4bf99e
mov ecx, dword [esp]
lea ebp, [ecx + 4]
add ebx, 4
mov eax, dword [eax]
test eax, eax
je 0x6b4bf993
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
mov eax, dword [ebx - 4]
push edi
push dword [eax]
push ebp
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [ebp + edi], 0x2c
lea ebp, [ebp + edi + 1]
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x6b4bf961
mov ecx, dword [esp + 0x18]
add ecx, 4
mov ebp, dword [esp + 4]
mov ebx, dword [esp]
add ebx, ecx
cmp dword [esi + 0x118], 0
je 0x6b4bf9cf
push ebp
push ebx
call fcn.6b4c5d10
add esp, 8
lea eax, [ebx + 4]
push ebp
push dword [esi + 0x118]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ebx, [ebx + ebp + 4]
jmp 0x6b4bfa3c
call fcn.6b4d9e10
mov ecx, ebx
mov ebx, eax
push ebp
mov dword [esp + 4], ecx
push ecx
call fcn.6b4c5d10
add esp, 8
mov ecx, 4
test ebx, ebx
je 0x6b4bfa37
mov eax, dword [ebx]
test eax, eax
je 0x6b4bfa37
mov ecx, dword [esp]
lea ebp, [ecx + 4]
add ebx, 4
mov eax, dword [eax]
test eax, eax
je 0x6b4bfa30
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
mov eax, dword [ebx - 4]
push edi
push dword [eax]
push ebp
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [ebp + edi], 0x2c
lea ebp, [ebp + edi + 1]
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x6b4bf9fe
mov ecx, dword [esp + 4]
add ecx, 4
mov ebx, dword [esp]
add ebx, ecx
cmp dword [esi + 0xe0], 0
je 0x6b4bfa6c
mov edi, dword [esp + 8]
push edi
push ebx
call fcn.6b4c5d10
add esp, 8
lea eax, [ebx + 4]
push edi
push dword [esi + 0xe0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ebx, [ebx + edi + 4]
jmp 0x6b4bfad6
call fcn.6b4d9e10
mov edi, eax
push dword [esp + 8]
push ebx
call fcn.6b4c5d10
add esp, 8
mov ecx, 4
test edi, edi
je 0x6b4bfad4
mov eax, dword [edi]
test eax, eax
je 0x6b4bfad4
mov dword [esp], ebx
lea ebp, [ebx + 4]
add edi, 4
mov eax, dword [eax]
test eax, eax
je 0x6b4bfaca
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
mov eax, dword [edi - 4]
push ebx
push dword [eax]
push ebp
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [ebp + ebx], 0x2c
lea ebp, [ebp + ebx + 1]
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x6b4bfa98
mov ecx, dword [esp + 8]
add ecx, 4
mov ebx, dword [esp]
add ebx, ecx
cmp dword [esi + 0x11c], 0
je 0x6b4bfb06
mov ebp, dword [esp + 0xc]
push ebp
push ebx
call fcn.6b4c5d10
add esp, 8
lea eax, [ebx + 4]
push ebp
push dword [esi + 0x11c]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ebx, [ebx + ebp + 4]
jmp 0x6b4bfb70
call fcn.6b4c5750
mov edi, eax
push dword [esp + 0xc]
push ebx
call fcn.6b4c5d10
add esp, 8
mov ecx, 4
test edi, edi
je 0x6b4bfb6e
mov eax, dword [edi]
test eax, eax
je 0x6b4bfb6e
mov dword [esp], ebx
lea ebp, [ebx + 4]
add edi, 4
mov eax, dword [eax]
test eax, eax
je 0x6b4bfb64
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
mov eax, dword [edi - 4]
push ebx
push dword [eax]
push ebp
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [ebp + ebx], 0x2c
lea ebp, [ebp + ebx + 1]
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x6b4bfb32
mov ecx, dword [esp + 0xc]
add ecx, 4
mov ebx, dword [esp]
add ebx, ecx
cmp dword [esi + 0xe4], 0
je 0x6b4bfba4
mov edi, esi
mov esi, dword [esp + 0x10]
push esi
push ebx
call fcn.6b4c5d10
add esp, 8
lea eax, [ebx + 4]
push esi
push dword [edi + 0xe4]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ebx, [ebx + esi + 4]
mov esi, edi
jmp 0x6b4bfc0e
call fcn.6b4c5750
mov edi, eax
push dword [esp + 0x10]
push ebx
call fcn.6b4c5d10
add esp, 8
mov ecx, 4
test edi, edi
je 0x6b4bfc0c
mov eax, dword [edi]
test eax, eax
je 0x6b4bfc0c
mov dword [esp], ebx
lea ebp, [ebx + 4]
add edi, 4
mov eax, dword [eax]
test eax, eax
je 0x6b4bfc02
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
mov eax, dword [edi - 4]
push ebx
push dword [eax]
push ebp
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [ebp + ebx], 0x2c
lea ebp, [ebp + ebx + 1]
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x6b4bfbd0
mov ecx, dword [esp + 0x10]
add ecx, 4
mov ebx, dword [esp]
add ebx, ecx
cmp dword [esi + 0x120], 0
je 0x6b4bfc42
mov edi, esi
mov esi, dword [esp + 0x14]
push esi
push ebx
call fcn.6b4c5d10
add esp, 8
lea eax, [ebx + 4]
push esi
push dword [edi + 0x120]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ebx, [ebx + esi + 4]
mov esi, edi
jmp 0x6b4bfcb0
push esi
call fcn.6b4d9b20
add esp, 4
mov edi, eax
push dword [esp + 0x14]
push ebx
call fcn.6b4c5d10
add esp, 8
mov ecx, 4
test edi, edi
je 0x6b4bfcae
mov eax, dword [edi]
test eax, eax
je 0x6b4bfcae
mov dword [esp], ebx
lea ebp, [ebx + 4]
add edi, 4
mov eax, dword [eax]
test eax, eax
je 0x6b4bfca4
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
mov eax, dword [edi - 4]
push ebx
push dword [eax]
push ebp
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [ebp + ebx], 0x2c
lea ebp, [ebp + ebx + 1]
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x6b4bfc72
mov ecx, dword [esp + 0x14]
add ecx, 4
mov ebx, dword [esp]
add ebx, ecx
cmp dword [esi + 0xe8], 0
je 0x6b4bfce4
mov ebp, dword [esp + 0x20]
push ebp
push ebx
call fcn.6b4c5d10
add esp, 8
lea eax, [ebx + 4]
push ebp
push dword [esi + 0xe8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ebx, [ebx + ebp + 4]
mov ebp, dword [esp + 0x1c]
jmp 0x6b4bfd60
push esi
call fcn.6b4d9b20
add esp, 4
mov edi, eax
push dword [esp + 0x20]
push ebx
call fcn.6b4c5d10
add esp, 8
mov ecx, 4
test edi, edi
je 0x6b4bfd5a
mov eax, dword [edi]
test eax, eax
mov ebp, dword [esp + 0x1c]
je 0x6b4bfd5e
mov dword [esp], ebx
lea ebp, [ebx + 4]
add edi, 4
mov eax, dword [eax]
test eax, eax
je 0x6b4bfd4a
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
mov eax, dword [edi - 4]
push ebx
push dword [eax]
push ebp
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [ebp + ebx], 0x2c
lea ebp, [ebp + ebx + 1]
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x6b4bfd18
mov ecx, dword [esp + 0x20]
add ecx, 4
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp]
jmp 0x6b4bfd5e
mov ebp, dword [esp + 0x1c]
add ebx, ecx
mov eax, dword [esi + 0x124]
mov dword [esp], eax
mov edi, dword [esp + 0x2c]
push edi
push ebx
call fcn.6b4c5d10
add esp, 8
add ebx, 4
cmp dword [esp], 0
je 0x6b4bfd92
push edi
push dword [esi + 0x124]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, edi
mov edi, dword [esi + 0xec]
push ebp
push ebx
call fcn.6b4c5d10
add esp, 8
add ebx, 4
test edi, edi
je 0x6b4bfdbb
push ebp
push dword [esi + 0xec]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, ebp
mov edi, dword [esp + 0x24]
mov byte [ebx], 0
inc ebx
push 0
push ebx
call fcn.6b4c5d10
add esp, 8
mov dword [esi + 0xcb58], 2
mov eax, dword [esp + 0x30]
jmp 0x6b4bf13b
lea eax, [esp + 0x48]
lea ecx, [esp + 0x68]
push eax
push ecx
push edi
call fcn.6b4c63e0
add esp, 0xc
test eax, eax
je 0x6b4bfe06
xor eax, eax
mov esi, dword [esp + 0x94]
jmp 0x6b4bf323
push 1
push edi
call fcn.6b4c6310
add esp, 8
test eax, eax
je 0x6b4bfdf8
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov dword [esp + 0x38], ecx
movzx eax, byte [eax]
mov edx, dword [esp + 0x94]
mov esi, dword [edx + 0x2c]
mov ecx, dword [edx + 0x44]
and eax, 1
and ecx, 0xfffffffe
or ecx, eax
mov dword [edx + 0x44], ecx
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp], esi
test esi, esi
jne 0x6b4bffe7
mov ebx, 0x6b7488ac
mov ecx, 0x6b748a48
jmp 0x6b4bfe89
mov ecx, dword [ebx + 4]
add ebx, 4
xor eax, eax
test ecx, ecx
mov esi, dword [esp + 0x94]
je 0x6b4bf323
mov edi, dword [ecx]
test edi, edi
je 0x6b4bfdf8
push edi
call sub.msvcrt.dll_strlen
add esp, 4
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x14]
push eax
push edi
call fcn.6b4c07e0
add esp, 8
test eax, eax
je 0x6b4bfe72
mov edi, eax
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, dword [esp + 0x94]
push dword [esp + 0xc]
push dword [esp + 0x14]
call fcn.6b4c08c0
add esp, 8
test eax, eax
jne 0x6b4bfe72
mov eax, dword [ebx]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x40], eax
cmp edi, dword [esp + 4]
jne 0x6b4bff04
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 0x44]
mov ecx, eax
and ecx, 1
je 0x6b4bff04
and eax, 0xfffffffe
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x94]
lea edi, [eax + 0xf0]
mov edx, dword [esp + 0x74]
mov ecx, edi
push dword [esp + 0x54]
call fcn.6b4c0450
add esp, 4
test eax, eax
jne 0x6b4bfdf8
mov eax, dword [esp + 0x94]
lea ebx, [eax + 0xb8]
mov edx, dword [esp + 0x70]
mov ecx, ebx
push dword [esp + 0x50]
call fcn.6b4c0450
add esp, 4
test eax, eax
jne 0x6b4bfdf8
mov edx, dword [esp + 0x64]
mov ecx, edi
push dword [esp + 0x44]
call fcn.6b4c0580
add esp, 4
test eax, eax
jne 0x6b4bfdf8
mov edx, dword [esp + 0x60]
mov ecx, ebx
push dword [esp + 0x40]
call fcn.6b4c0580
add esp, 4
test eax, eax
jne 0x6b4bfdf8
mov ecx, dword [esp + 0x94]
mov edx, edi
push dword [esp + 0x4c]
push dword [esp + 0x70]
call fcn.6b4c06b0
add esp, 8
test eax, eax
jne 0x6b4bfdf8
mov esi, dword [esp + 0x94]
mov ecx, esi
mov edx, ebx
push dword [esp + 0x48]
push dword [esp + 0x6c]
call fcn.6b4c06b0
add esp, 8
test eax, eax
sete al
jmp 0x6b4bf323
mov ecx, dword [esp + 8]
lea eax, [ecx + 1]
mov dword [esp], eax
xor eax, eax
test ecx, ecx
mov esi, dword [esp + 0x94]
je 0x6b4bf323
mov eax, dword [esp]
cmp byte [eax], 0
je 0x6b4bfdf8
push 0x2c
push dword [esp + 4]
call sub.msvcrt.dll_strchr
add esp, 8
mov dword [esp + 8], eax
test eax, eax
je 0x6b4c0012
mov ebx, dword [esp + 8]
sub ebx, dword [esp]
jmp 0x6b4c001f
push dword [esp]
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x14]
push ebx
push dword [esp + 4]
call fcn.6b4c07e0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x6b4bffcc
mov edi, 0x6b7488ac
mov ecx, 0x6b748a48
mov esi, dword [esp + 0x94]
jmp 0x6b4c005f
mov ecx, dword [edi + 4]
add edi, 4
xor eax, eax
test ecx, ecx
je 0x6b4bf323
push dword [ecx]
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, ebx
jne 0x6b4c004f
mov eax, dword [edi]
push ebx
push dword [esp + 4]
push dword [eax]
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6b4c004f
mov edi, dword [edi]
test edi, edi
je 0x6b4bfdf8
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x94]
push dword [esp + 0xc]
push dword [esp + 0x14]
call fcn.6b4c08c0
add esp, 8
test eax, eax
jne 0x6b4bffcc
mov eax, dword [esp + 0x94]
mov dword [eax + 0x40], edi
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 4]
je 0x6b4bfee6
jmp 0x6b4bff04