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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa8]
mov eax, dword [ebx + 0x34]
mov edx, eax
or edx, 8
mov dword [ebx + 0x34], edx
mov edx, dword [ebp]
test edx, edx
jne 0x4a445e
or eax, 9
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0xa4]
test eax, eax
jne 0x4a44f4
mov dword [ebp], 2
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x4a4524
mov eax, dword [ebx + 0x58]
test eax, eax
je 0x4a4524
mov dword [ebp], 5
mov eax, dword [ebx + 0x40]
lea edx, [ebp + 0xc]
mov dword [esp + 4], edx
mov dword [esp], ebx
call dword [eax + 4]
cmp eax, 0xffffffdb
je 0x4a4be0
test eax, eax
jne 0x4a4bc0
xor esi, esi
mov eax, dword [ebx + 0xcc]
test eax, eax
je 0x4a44bc
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov dword [ebx + 0xcc], 0
mov edx, dword [ebx + 0x94]
test edx, edx
je 0x4a44da
mov dword [esp + 4], ebx
mov dword [esp], edx
call dword [ebx + 0xc]
mov dword [ebx + 0x94], 0
and dword [ebx + 0x34], 0xfffffff6
mov dword [ebp], 0
mov eax, esi
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebx + 0x40], 0
mov eax, dword [ebx + 0x58]
test eax, eax
je 0x4a4515
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x4a4515
lea edx, [ebx + 0x5c]
mov dword [esp + 4], edx
mov dword [esp], ebx
call eax
mov dword [ebx + 0x58], 0
jmp 0x4a4457
mov eax, dword [ebp]
cmp eax, 2
je 0x4a4548
cmp eax, 3
je 0x4a4571
cmp eax, 4
je 0x4a4994
cmp eax, 5
jne 0x4a449c
jmp 0x4a447b
mov eax, dword [ebx + 0xcc]
mov dword [ebp + 0xcc], eax
mov eax, dword [ebx + 0xd0]
mov dword [ebp + 0xd0], eax
mov dword [ebx + 0xcc], 0
mov dword [ebp], 3
mov eax, dword [ebx + 0xcb2c]
test eax, eax
jne 0x4a48fa
mov edi, dword [ebx + 0x2c]
test edi, edi
je 0x4a4ffa
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x3c], ecx
mov edi, dword [ebx + 0x30]
test edi, edi
je 0x4a4fe7
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x34], ecx
mov edi, dword [ebx + 0xf0]
test edi, edi
je 0x4a4fd4
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x38], ecx
mov edi, dword [ebx + 0xb8]
test edi, edi
je 0x4a4fc1
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x40], ecx
mov edi, dword [ebx + 0xf4]
test edi, edi
je 0x4a4fae
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x44], ecx
mov edi, dword [ebx + 0xbc]
test edi, edi
je 0x4a4f9b
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x48], ecx
mov edi, dword [ebx + 0xf8]
test edi, edi
je 0x4a4f85
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x4c], ecx
mov edi, dword [ebx + 0xc0]
test edi, edi
je 0x4a4f6f
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x50], ecx
mov edi, dword [ebx + 0xfc]
test edi, edi
je 0x4a4f62
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x54], ecx
mov edi, dword [ebx + 0xc4]
test edi, edi
je 0x4a4f55
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x58], ecx
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea eax, [esi + ecx + 0x3e]
add eax, dword [esp + 0x38]
add eax, dword [esp + 0x40]
add eax, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add eax, dword [esp + 0x4c]
add eax, dword [esp + 0x50]
add eax, dword [esp + 0x54]
add eax, dword [esp + 0x58]
mov dword [esp + 0x30], eax
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 4]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4a4f38
mov eax, dword [esp + 0x2c]
mov byte [eax], 0x14
mov dword [esp + 4], 0x10
inc eax
mov dword [esp], eax
call fcn.004bf010
mov esi, dword [esp + 0x2c]
add esi, 0x11
mov edi, dword [ebx + 0x2c]
test edi, edi
je 0x4a4f20
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.0049fcb0
mov eax, dword [esp + 0x2c]
add eax, 0x15
mov esi, dword [ebx + 0x2c]
mov edi, eax
mov ecx, dword [esp + 0x3c]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je 0x4a4f07
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.0049fcb0
lea eax, [edi + 4]
mov esi, dword [ebx + 0x30]
mov edi, eax
mov ecx, dword [esp + 0x34]
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebx + 0xf0]
test edx, edx
je 0x4a4eee
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.0049fcb0
lea eax, [edi + 4]
mov esi, dword [ebx + 0xf0]
mov edi, eax
mov ecx, dword [esp + 0x38]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x4a4ed5
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.0049fcb0
lea eax, [edi + 4]
mov esi, dword [ebx + 0xb8]
mov edi, eax
mov ecx, dword [esp + 0x40]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xf4]
test eax, eax
je 0x4a4ebc
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.0049fcb0
lea eax, [edi + 4]
mov esi, dword [ebx + 0xf4]
mov edi, eax
mov ecx, dword [esp + 0x44]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xbc]
test eax, eax
je 0x4a4e96
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.0049fcb0
lea eax, [edi + 4]
mov esi, dword [ebx + 0xbc]
mov edi, eax
mov ecx, dword [esp + 0x48]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xf8]
test eax, eax
je 0x4a4e7a
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.0049fcb0
lea eax, [edi + 4]
mov esi, dword [ebx + 0xf8]
mov edi, eax
mov ecx, dword [esp + 0x4c]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x4a4e5e
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.0049fcb0
lea eax, [edi + 4]
mov esi, dword [ebx + 0xc0]
mov edi, eax
mov ecx, dword [esp + 0x50]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x54]
mov eax, dword [ebx + 0xfc]
test eax, eax
mov dword [esp + 4], ecx
mov dword [esp], edi
je 0x4a4e51
call fcn.0049fcb0
lea eax, [edi + 4]
mov esi, dword [ebx + 0xfc]
mov edi, eax
mov ecx, dword [esp + 0x54]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x58]
mov esi, dword [ebx + 0xc4]
test esi, esi
mov dword [esp + 4], ecx
mov dword [esp], edi
je 0x4a4eaf
call fcn.0049fcb0
lea edx, [edi + 4]
mov esi, dword [ebx + 0xc4]
mov edi, edx
mov ecx, dword [esp + 0x58]
rep movsb byte es:[edi], byte [esi]
mov byte [edi], 0
mov dword [esp + 4], 0
lea eax, [edi + 1]
mov dword [esp], eax
call fcn.0049fcb0
mov dword [ebx + 0xcb2c], 2
jmp 0x4a4922
mov eax, dword [ebx + 0xcb30]
mov dword [esp + 0x2c], eax
mov edx, dword [ebx + 0xcb34]
mov dword [esp + 0x30], edx
mov dword [ebx + 0xcb30], 0
mov dword [ebx + 0xcb34], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004a080c
cmp eax, 0xffffffdb
je 0x4a4c05
test eax, eax
jne 0x4a4c27
mov eax, dword [ebx + 0xcc]
test eax, eax
je 0x4a496f
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0xcc], eax
mov edx, dword [esp + 0x30]
mov dword [ebx + 0xd0], edx
mov dword [ebx + 0xcb2c], 0
mov dword [ebp], 4
lea eax, [ebp + 4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
lea eax, [ebp + 0xc8]
mov dword [esp + 0xc], eax
lea eax, [ebp + 0xc4]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x14
mov dword [esp], ebx
call fcn.004a2044
cmp eax, 0xffffffdb
je 0x4a4be0
test eax, eax
jne 0x4a500d
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x4a49fc
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebp + 0xc4]
mov dword [ebx + 0x94], eax
mov eax, dword [ebp + 0xc8]
mov dword [ebx + 0x98], eax
mov ecx, dword [ebp + 0xc8]
mov dword [esp + 0x34], ecx
mov esi, dword [ebp + 0xc4]
lea edi, [esi + 0x11]
mov dword [esp], edi
call fcn.0049fc48
mov dword [esp + 0x2c], eax
lea eax, [esi + 0x15]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
lea edi, [edi + eax + 4]
mov dword [esp], edi
call fcn.0049fc48
mov dword [esp + 0x3c], eax
lea edx, [edi + 4]
mov dword [esp + 0x40], edx
lea edi, [edi + eax + 4]
mov dword [esp + 0x60], edi
mov dword [esp], edi
call fcn.0049fc48
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x60]
lea ecx, [ecx + eax + 4]
mov dword [esp + 0x50], ecx
mov dword [esp], ecx
call fcn.0049fc48
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0x50]
lea edx, [edx + eax + 4]
mov dword [esp + 0x54], edx
mov dword [esp], edx
call fcn.0049fc48
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + eax + 4]
mov dword [esp + 0x58], ecx
mov dword [esp], ecx
call fcn.0049fc48
mov dword [esp + 0x6c], eax
mov edx, dword [esp + 0x58]
lea edx, [edx + eax + 4]
mov dword [esp + 0x5c], edx
mov dword [esp], edx
call fcn.0049fc48
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x5c]
lea ecx, [ecx + eax + 4]
mov dword [esp + 0x44], ecx
mov dword [esp], ecx
call fcn.0049fc48
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x44]
mov dl, byte [eax]
and edx, 1
mov al, byte [ebx + 0x44]
and eax, 0xfffffffe
or eax, edx
mov byte [ebx + 0x44], al
mov eax, dword [esp + 0x44]
inc eax
sub eax, esi
cmp dword [esp + 0x34], eax
jb 0x4a4bf4
mov esi, dword [ebx + 0x2c]
test esi, esi
je 0x4a4dac
lea ecx, [ebx + 0x58]
mov dword [esp + 0x34], ecx
lea eax, [ebx + 0x30]
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebp
jmp 0x4a4b90
mov ebp, eax
sub ebp, esi
mov dword [esp], ebp
mov ecx, esi
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
call fcn.004a3cd0
mov edi, eax
test eax, eax
je 0x4a4b87
mov ecx, 0x59d580
mov edx, ebp
mov eax, esi
call fcn.004a3c70
mov esi, eax
test eax, eax
je 0x4a4bec
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x40]
mov dword [esp], edx
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
call fcn.004a3f54
test eax, eax
je 0x4a4c95
test ebx, ebx
je 0x4a4bec
mov esi, ebx
inc esi
je 0x4a4bec
cmp byte [esi], 0
je 0x4a4bec
mov dword [esp + 4], 0x2c
mov dword [esp], esi
call sub.msvcrt.dll_strchr
mov ebx, eax
test eax, eax
jne 0x4a4b2c
xor eax, eax
mov ecx, 0xffffffff
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
lea ebp, [ecx - 1]
jmp 0x4a4b30
mov dword [esp + 8], str.Unrecoverable_error_exchanging_keys
mov dword [esp + 4], 0xfffffff8
mov dword [esp], ebx
call fcn.0049fbac
mov esi, eax
jmp 0x4a449e
and dword [ebx + 0x34], 0xfffffff7
jmp 0x4a44e7
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov dword [ebp], 5
mov esi, 0xfffffffb
jmp 0x4a449e
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0xcb30], eax
mov edx, dword [esp + 0x30]
mov dword [ebx + 0xcb34], edx
and dword [ebx + 0x34], 0xfffffff7
mov eax, 0xffffffdb
jmp 0x4a44e7
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
mov dword [esp + 0x28], eax
call dword [ebx + 0xc]
mov dword [ebx + 0xcb2c], 0
mov dword [esp + 8], str.Unable_to_send_KEXINIT_packet_to_remote_host
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0049fbac
cmp eax, 0xffffffdb
je 0x4a4c19
test eax, eax
je 0x4a498d
mov eax, dword [ebp + 0xcc]
mov dword [ebx + 0xcc], eax
mov eax, dword [ebp + 0xd0]
mov dword [ebx + 0xd0], eax
mov dword [ebp], 0
and dword [ebx + 0x34], 0xfffffff6
mov eax, 0xffffffff
jmp 0x4a44e7
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov dword [ebx + 0x40], esi
mov al, byte [ebx + 0x44]
test al, 1
je 0x4a4cb1
cmp dword [esp + 0x30], edi
je 0x4a504f
mov ecx, dword [esp + 0x60]
add ecx, 4
lea edx, [ebx + 0xf0]
lea eax, [ebx + 0xd4]
mov esi, dword [esp + 0x74]
mov dword [esp], esi
call fcn.004a40c0
test eax, eax
jne 0x4a4bf4
mov ecx, dword [esp + 0x50]
add ecx, 4
lea edx, [ebx + 0xb8]
lea eax, [ebx + 0x9c]
mov esi, dword [esp + 0x64]
mov dword [esp], esi
call fcn.004a40c0
test eax, eax
jne 0x4a4bf4
mov ecx, dword [esp + 0x54]
add ecx, 4
lea edx, [ebx + 0xf4]
lea eax, [ebx + 0xdc]
mov esi, dword [esp + 0x68]
mov dword [esp], esi
call fcn.004a41e0
test eax, eax
jne 0x4a4bf4
mov ecx, dword [esp + 0x58]
add ecx, 4
lea edx, [ebx + 0xbc]
lea eax, [ebx + 0xa4]
mov esi, dword [esp + 0x6c]
mov dword [esp], esi
call fcn.004a41e0
test eax, eax
jne 0x4a4bf4
lea ecx, [ebx + 0xf8]
lea edx, [ebx + 0xe8]
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
add eax, 4
mov dword [esp], eax
mov eax, ebx
call fcn.004a4300
test eax, eax
jne 0x4a4bf4
lea ecx, [ebx + 0xc0]
lea edx, [ebx + 0xb0]
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
add eax, 4
mov dword [esp], eax
mov eax, ebx
call fcn.004a4300
test eax, eax
je 0x4a4474
jmp 0x4a4bf4
mov esi, dword [0x59d580]
test esi, esi
je 0x4a4bf4
mov edx, dword [esi]
mov dword [esp + 0x48], 0x59d580
test edx, edx
je 0x4a4bf4
lea ecx, [ebx + 0x58]
mov dword [esp + 0x34], ecx
lea eax, [ebx + 0x30]
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x7c], ebp
mov ebp, dword [esp + 0x40]
jmp 0x4a4df2
mov edx, dword [esi]
test edx, edx
je 0x4a4e44
xor eax, eax
mov ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp], ecx
mov ecx, edx
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
call fcn.004a3cd0
mov edi, eax
test eax, eax
je 0x4a4e3b
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], ebp
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
call fcn.004a3f54
test eax, eax
je 0x4a502a
add ebx, 4
mov esi, dword [ebx]
test esi, esi
jne 0x4a4dec
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x7c]
jmp 0x4a4bf4
call fcn.0049fcb0
add edi, 4
jmp 0x4a48a9
mov dword [esp], ebx
call fcn.004a5d74
mov ecx, eax
mov edx, dword [esp + 0x50]
mov eax, edi
call fcn.004a24a4
add edi, eax
jmp 0x4a487a
mov dword [esp], ebx
call fcn.004a5d74
mov ecx, eax
mov edx, dword [esp + 0x4c]
mov eax, edi
call fcn.004a24a4
add edi, eax
jmp 0x4a484b
call fcn.004a59c8
mov ecx, eax
mov edx, dword [esp + 0x48]
mov eax, edi
call fcn.004a24a4
add edi, eax
jmp 0x4a481c
call fcn.0049fcb0
add edi, 4
jmp 0x4a48d8
call fcn.004a59c8
mov ecx, eax
mov edx, dword [esp + 0x44]
mov eax, edi
call fcn.004a24a4
add edi, eax
jmp 0x4a47ed
call fcn.004a5648
mov ecx, eax
mov edx, dword [esp + 0x40]
mov eax, edi
call fcn.004a24a4
add edi, eax
jmp 0x4a47be
call fcn.004a5648
mov ecx, eax
mov edx, dword [esp + 0x38]
mov eax, edi
call fcn.004a24a4
add edi, eax
jmp 0x4a478f
call fcn.00498fe8
mov ecx, eax
mov edx, dword [esp + 0x34]
mov eax, edi
call fcn.004a24a4
add edi, eax
jmp 0x4a4760
mov ecx, 0x59d580
mov edx, dword [esp + 0x3c]
mov eax, esi
call fcn.004a24a4
lea edi, [esi + eax]
jmp 0x4a4737
mov dword [esp + 8], str.Unable_to_allocate_memory
mov dword [esp + 4], 0xfffffffa
mov dword [esp], ebx
call fcn.0049fbac
jmp 0x4a4c5b
mov dword [esp + 0x58], 0
jmp 0x4a46a5
mov dword [esp + 0x54], 0
jmp 0x4a4687
mov dword [esp], ebx
call fcn.004a5d74
call fcn.004a2450
mov dword [esp + 0x50], eax
jmp 0x4a4669
mov dword [esp], ebx
call fcn.004a5d74
call fcn.004a2450
mov dword [esp + 0x4c], eax
jmp 0x4a464b
call fcn.004a59c8
call fcn.004a2450
mov dword [esp + 0x48], eax
jmp 0x4a462d
call fcn.004a59c8
call fcn.004a2450
mov dword [esp + 0x44], eax
jmp 0x4a460f
call fcn.004a5648
call fcn.004a2450
mov dword [esp + 0x40], eax
jmp 0x4a45f1
call fcn.004a5648
call fcn.004a2450
mov dword [esp + 0x38], eax
jmp 0x4a45d3
call fcn.00498fe8
call fcn.004a2450
mov dword [esp + 0x34], eax
jmp 0x4a45b5
mov eax, 0x59d580
call fcn.004a2450
mov dword [esp + 0x3c], eax
jmp 0x4a459a
mov eax, dword [ebx + 0xcc]
test eax, eax
je 0x4a4c68
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
jmp 0x4a4c68
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x7c]
mov edx, dword [esp + 0x48]
mov eax, dword [edx]
mov dword [ebx + 0x40], eax
mov al, byte [ebx + 0x44]
test al, 1
jne 0x4a4ca7
jmp 0x4a4cb1
and eax, 0xfffffffe
mov byte [ebx + 0x44], al
jmp 0x4a4cb1