Function at 0x4403c0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48f4b9
mov eax, dword fs:[0]
push eax
sub esp, 0xdc
mov eax, dword [0x4d04c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0xdc], eax
mov edi, dword [ebp + 8]
sub esp, 8
mov dword [ebp - 0xd8], 0
movss xmm0, dword [eax + 0x48]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x49d77c
movsd qword [ebp - 0xe8], xmm0
call fcn.004247d0
add esp, 0xc
lea ecx, [ebp - 0x70]
mov esi, eax
push 0
push esi
call fcn.00416840
cmp dword [ebp - 0x5c], 0xf
lea ecx, [ebp - 0x70]
movsd xmm0, qword [ebp - 0xe8]
lea eax, [esi + 1]
cmova ecx, dword [ebp - 0x70]
sub esp, 8
movsd qword [esp], xmm0
push 0x49d77c
push eax
push ecx
call fcn.004290f0
mov dword [ebp - 0xd8], 0xc0000000
mov eax, dword [ebp - 0xdc]
add esp, 0xc
mov dword [ebp - 4], 0
movss xmm0, dword [eax + 0x4c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x49d77c
movsd qword [ebp - 0xe8], xmm0
call fcn.004247d0
add esp, 0xc
lea ecx, [ebp - 0x28]
mov esi, eax
push 0
push esi
call fcn.00416840
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x28]
movsd xmm0, qword [ebp - 0xe8]
lea eax, [esi + 1]
cmova ecx, dword [ebp - 0x28]
sub esp, 8
movsd qword [esp], xmm0
push 0x49d77c
push eax
push ecx
call fcn.004290f0
add esp, 0x14
push 1
push 0x49fd2c
push 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00421e60
mov dword [ebp - 0x78], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x74], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x88], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x78], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push 0x49dd00
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 2
call fcn.004211a0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x48], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0xe4]
lea ecx, [ebp - 0x40]
call fcn.00416930
push 1
push 0x4a0788
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.004211a0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xb8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xa8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 6
cmp ecx, 0xf
jbe 0x4405eb
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4405e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4406f5
push ecx
push edx
call fcn.00489a49
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 7
cmp ecx, 0xf
jbe 0x440635
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44062b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4406f5
push ecx
push edx
call fcn.00489a49
add esp, 8
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 8
cmp ecx, 0xf
jbe 0x440670
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440666
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4406f5
push ecx
push edx
call fcn.00489a49
add esp, 8
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp ecx, 0xf
jbe 0x4406b9
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4406af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4406f5
push ecx
push edx
call fcn.00489a49
add esp, 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0xa
cmp ecx, 0xf
jbe 0x440705
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4406fb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4406fb
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00489a49
add esp, 8
push 0x1f
push str._type_:_Feature___properties_:
mov ecx, edi
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.004211a0
xorps xmm0, xmm0
mov dword [ebp - 0x78], 4
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x88], 0x6c6c756e
mov byte [ebp - 0x84], 0
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov esi, dword [ebp - 0xdc]
lea eax, [ebp - 0x5b]
mov byte [ebp - 4], 0xc
push dword [esi + 8]
push eax
call fcn.004165a0
add esp, 8
lea ecx, [ebp - 0xdd]
push ecx
lea ecx, [ebp - 0x5b]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.004155c0
push 8
push str._mmsi_:
push 0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xd
call fcn.00421e60
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push 0x49dd00
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xe
call fcn.004211a0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x40], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x30], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [ebp - 0x2c], 0xf
lea ecx, [ebp - 0x40]
push dword [ebp - 0x30]
movd eax, xmm1
mov byte [ebp - 4], 0xf
cmova ecx, eax
push ecx
mov ecx, edi
call fcn.004211a0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xe
cmp ecx, 0xf
jbe 0x44086f
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440865
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4408df
push ecx
push edx
call fcn.00489a49
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xd
cmp ecx, 0xf
jbe 0x4408a3
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440899
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4408df
push ecx
push edx
call fcn.00489a49
add esp, 8
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0xc
cmp ecx, 0xf
jbe 0x4408ef
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4408e5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4408e5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00489a49
add esp, 8
movss xmm0, dword [esi + 0x64]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x49d77c
movsd qword [ebp - 0xe8], xmm0
call fcn.004247d0
add esp, 0xc
lea ecx, [ebp - 0x70]
mov esi, eax
push 0
push esi
call fcn.00416840
cmp dword [ebp - 0x5c], 0xf
lea ecx, [ebp - 0x70]
movsd xmm0, qword [ebp - 0xe8]
lea eax, [esi + 1]
cmova ecx, dword [ebp - 0x70]
sub esp, 8
movsd qword [esp], xmm0
push 0x49d77c
push eax
push ecx
call fcn.004290f0
add esp, 0x14
push 0xb
push str._distance_:
push 0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x10
call fcn.00421e60
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push 0x49dd00
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x11
call fcn.004211a0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x40], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x30], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [ebp - 0x2c], 0xf
lea ecx, [ebp - 0x40]
push dword [ebp - 0x30]
movd eax, xmm1
mov byte [ebp - 4], 0x12
cmova ecx, eax
push ecx
mov ecx, edi
call fcn.004211a0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x11
cmp ecx, 0xf
jbe 0x440a20
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440a16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440a90
push ecx
push edx
call fcn.00489a49
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x10
cmp ecx, 0xf
jbe 0x440a54
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440a4a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440a90
push ecx
push edx
call fcn.00489a49
add esp, 8
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0xc
cmp ecx, 0xf
jbe 0x440aa0
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440a96
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x440a96
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00489a49
add esp, 8
mov esi, dword [ebp - 0xdc]
mov eax, dword [esi + 0x40]
test eax, eax
jns 0x440ac3
neg eax
push eax
lea eax, [ebp - 0x5b]
push eax
call fcn.004165a0
add esp, 8
mov byte [eax - 1], 0x2d
dec eax
jmp 0x440ad0
push eax
lea eax, [ebp - 0x5b]
push eax
call fcn.004165a0
add esp, 8
lea ecx, [ebp - 0xdd]
push ecx
lea ecx, [ebp - 0x5b]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.004155c0
push 0xa
push str._bearing_:
push 0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x13
call fcn.00421e60
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push 0x49dd00
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x14
call fcn.004211a0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x40], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x30], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [ebp - 0x2c], 0xf
lea ecx, [ebp - 0x40]
push dword [ebp - 0x30]
movd eax, xmm1
mov byte [ebp - 4], 0x15
cmova ecx, eax
push ecx
mov ecx, edi
call fcn.004211a0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x14
cmp ecx, 0xf
jbe 0x440bb6
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440bac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440c26
push ecx
push edx
call fcn.00489a49
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x13
cmp ecx, 0xf
jbe 0x440bea
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440be0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440c26
push ecx
push edx
call fcn.00489a49
add esp, 8
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0xc
cmp ecx, 0xf
jbe 0x440c36
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440c2c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x440c2c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00489a49
add esp, 8
movss xmm0, dword [esi + 0x54]
ucomiss xmm0, dword [0x49fe18]
lahf
test ah, 0x44
jp 0x440c62
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov byte [ebp - 4], 0x16
mov esi, 0xc0000001
jmp 0x440c80
push ecx
lea eax, [ebp - 0x28]
movss dword [esp], xmm0
push eax
call fcn.0042ad70
add esp, 8
mov dword [ebp - 4], 0x17
mov esi, 0xc0000002
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0xd8], esi
push str._level_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
add esp, 0xc
push 1
push 0x49dd00
mov ecx, eax
mov dword [ebp - 4], 0x18
call fcn.004211a0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x40], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x30], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [ebp - 0x2c], 0xf
lea ecx, [ebp - 0x40]
push dword [ebp - 0x30]
movd eax, xmm1
mov byte [ebp - 4], 0x19
cmova ecx, eax
push ecx
mov ecx, edi
call fcn.004211a0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x18
cmp ecx, 0xf
jbe 0x440d2c
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440d22
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x440d22
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00489a49
add esp, 8
lea ecx, [ebp - 0x58]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test al, 2
je 0x440d5b
and eax, 0xfffffffd
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test al, 1
je 0x440d7d
and eax, 0xfffffffe
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov esi, dword [ebp - 0xdc]
lea eax, [ebp - 0x58]
push dword [esi + 0xc]
push eax
call fcn.0042acb0
add esp, 8
push 8
push str._count_:
push 0
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.00421e60
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push 0x49dd00
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1b
call fcn.004211a0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x40], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x30], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [ebp - 0x2c], 0xf
lea ecx, [ebp - 0x40]
push dword [ebp - 0x30]
movd eax, xmm1
mov byte [ebp - 4], 0x1c
cmova ecx, eax
push ecx
mov ecx, edi
call fcn.004211a0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x1b
cmp ecx, 0xf
jbe 0x440e63
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440e59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440e8d
push ecx
push edx
call fcn.00489a49
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1a
cmp ecx, 0xf
jbe 0x440e9d
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440e93
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x440e93
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00489a49
add esp, 8
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0xc
call fcn.00419790
movss xmm0, dword [esi + 0x50]
ucomiss xmm0, dword [0x49fe18]
lahf
test ah, 0x44
jp 0x440eeb
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x1d
or esi, 4
jmp 0x440f0d
push ecx
lea eax, [ebp - 0x28]
movss dword [esp], xmm0
push eax
call fcn.0042ad70
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x1e
or esi, 8
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._ppm_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x1f
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x20
jbe 0x440f4f
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test al, 8
je 0x440f91
and eax, 0xfffffff7
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test al, 4
je 0x440fb3
and eax, 0xfffffffb
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov esi, dword [ebp - 0xdc]
lea eax, [ebp - 0x5b]
push dword [esi + 0xd4]
push dword [esi + 0xd0]
push eax
call fcn.004360b0
add esp, 0xc
lea ecx, [ebp - 0xdd]
push ecx
lea ecx, [ebp - 0x5b]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.004155c0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x28]
push str._group_mask_:
push eax
call fcn.00415a40
push 0x49dd00
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x22
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x23
jbe 0x44101f
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x40]
call fcn.00419790
lea ecx, [ebp - 0x28]
call fcn.00419790
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.00419790
test byte [esi + 0xd8], 0x20
mov eax, str.false
mov edx, str.true
mov dword [ebp - 0x18], 0
cmove edx, eax
mov dword [ebp - 0x14], 0
mov ecx, edx
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0xe4], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441080
sub ecx, dword [ebp - 0xe4]
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00415bc0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x24
push eax
lea eax, [ebp - 0x58]
push str._approx_:
push eax
call fcn.00415a40
add esp, 0xc
push 1
push 0x49dd00
mov ecx, eax
mov byte [ebp - 4], 0x25
call fcn.004211a0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x40], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x30], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [ebp - 0x2c], 0xf
lea ecx, [ebp - 0x40]
push dword [ebp - 0x30]
movd eax, xmm1
mov byte [ebp - 4], 0x26
cmova ecx, eax
push ecx
mov ecx, edi
call fcn.004211a0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x25
cmp ecx, 0xf
jbe 0x44113b
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x441131
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x441131
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00489a49
add esp, 8
lea ecx, [ebp - 0x58]
call fcn.00419790
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xc
cmp eax, 0xf
jbe 0x44115f
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.00421000
add esp, 0xc
mov eax, dword [esi + 0x20]
cmp eax, 0x1ff
jne 0x441187
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x27
or esi, 0x10
jmp 0x4411a4
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x28
or esi, 0x20
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._heading_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x29
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x2a
jbe 0x4411e6
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test al, 0x20
je 0x441228
and eax, 0xffffffdf
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test al, 0x10
je 0x44124a
and eax, 0xffffffef
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xdc]
movss xmm0, dword [eax + 0x5c]
ucomiss xmm0, dword [0x4a1c6c]
lahf
test ah, 0x44
jp 0x441280
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x2b
or esi, 0x40
jmp 0x4412a5
push ecx
lea eax, [ebp - 0x28]
movss dword [esp], xmm0
push eax
call fcn.0042ad70
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x2c
or esi, 0x80
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._cog_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x2d
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x2e
jbe 0x4412e7
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test al, al
jns 0x44132b
and eax, 0xffffff7f
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test al, 0x40
je 0x44134d
and eax, 0xffffffbf
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xdc]
movss xmm0, dword [eax + 0x58]
ucomiss xmm0, dword [0x4a1c70]
lahf
test ah, 0x44
jp 0x441386
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x2f
or esi, 0x100
jmp 0x4413ab
push ecx
lea eax, [ebp - 0x28]
movss dword [esp], xmm0
push eax
call fcn.0042ad70
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x30
or esi, 0x200
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._speed_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x31
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x32
jbe 0x4413ed
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test eax, 0x200
je 0x441434
and eax, 0xfffffdff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test eax, 0x100
je 0x44145b
and eax, 0xfffffeff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x30]
cmp eax, 0xffffffff
jne 0x44148a
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x33
or esi, 0x400
jmp 0x4414aa
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x34
or esi, 0x800
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._to_bow_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x35
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x36
jbe 0x4414ec
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test eax, 0x800
je 0x441533
and eax, 0xfffff7ff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test eax, 0x400
je 0x44155a
and eax, 0xfffffbff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x38]
cmp eax, 0xffffffff
jne 0x441589
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x37
or esi, 0x1000
jmp 0x4415a9
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x38
or esi, 0x2000
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._to_stern_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x39
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x3a
jbe 0x4415eb
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test eax, 0x2000
je 0x441632
and eax, 0xffffdfff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test eax, 0x1000
je 0x441659
and eax, 0xffffefff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x34]
cmp eax, 0xffffffff
jne 0x441688
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x3b
or esi, 0x4000
jmp 0x4416a8
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x3c
or esi, 0x8000
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._to_starboard_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x3d
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x3e
jbe 0x4416ea
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test eax, 0x8000
je 0x441731
and eax, 0xffff7fff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test eax, 0x4000
je 0x441758
and eax, 0xffffbfff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x2c]
cmp eax, 0xffffffff
jne 0x441787
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x3f
or esi, 0x10000
jmp 0x4417a7
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x40
or esi, 0x20000
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._to_port_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x41
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x42
jbe 0x4417e9
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test eax, 0x20000
je 0x441830
and eax, 0xfffdffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test eax, 0x10000
je 0x441857
and eax, 0xfffeffff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov esi, dword [ebp - 0xdc]
lea eax, [ebp - 0x28]
push dword [esi + 0x1c]
push eax
call fcn.0042acb0
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x43
push str._shiptype_:
push eax
call fcn.00415a40
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x44
push eax
call fcn.004159d0
add esp, 0x20
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x45
jbe 0x4418a0
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.00419790
push dword [esi + 0x18]
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x46
push str._mmsi_type_:
push eax
call fcn.00415a40
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x47
push eax
call fcn.004159d0
add esp, 0x20
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x48
jbe 0x44190a
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.00419790
push dword [esi + 0x14]
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x49
push str._shipclass_:
push eax
call fcn.00415a40
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x4a
push eax
call fcn.004159d0
add esp, 0x20
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x4b
jbe 0x441974
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.00419790
mov eax, dword [esi + 0xd8]
and eax, 3
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x4c
push str._validated_:
push eax
call fcn.00415a40
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x4d
push eax
call fcn.004159d0
add esp, 0x20
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x4e
jbe 0x4419e5
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.00419790
push dword [esi + 0x10]
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x4f
push str._msg_type_:
push eax
call fcn.00415a40
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x50
push eax
call fcn.004159d0
add esp, 0x20
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x51
jbe 0x441a4f
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.00419790
mov eax, dword [esi + 0xd8]
shr eax, 6
and eax, 0xf
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x52
push str._channels_:
push eax
call fcn.00415a40
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x53
push eax
call fcn.004159d0
add esp, 0x20
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x54
jbe 0x441ac3
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.00419790
lea edx, [esi + 0xaa]
mov dword [ebp - 0x18], 0
mov ecx, edx
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0xe4], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441b10
sub ecx, dword [ebp - 0xe4]
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00415bc0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x55
push eax
lea eax, [ebp - 0x40]
push str._country_:_
push eax
call fcn.00415a40
push 0x4a09fc
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x56
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x57
jbe 0x441b61
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xc
cmp eax, 0xf
jbe 0x441b98
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.00421000
add esp, 0xc
push dword [esi + 0x24]
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x58
push str._status_:
push eax
call fcn.00415a40
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x59
push eax
call fcn.004159d0
add esp, 0x20
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x5a
jbe 0x441bdb
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.00419790
movss xmm0, dword [esi + 0x60]
lea eax, [ebp - 0x28]
push ecx
movss dword [esp], xmm0
push eax
call fcn.0042ad70
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x5b
push str._draught_:
push eax
call fcn.00415a40
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x5c
push eax
call fcn.004159d0
add esp, 0x20
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x5d
jbe 0x441c4d
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.00419790
mov al, byte [esi + 0x44]
test al, al
jne 0x441c9c
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x5e
or esi, 0x40000
jmp 0x441cbf
movsx eax, al
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x5f
or esi, 0x80000
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._eta_month_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x60
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x61
jbe 0x441d01
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test eax, 0x80000
je 0x441d48
and eax, 0xfff7ffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test eax, 0x40000
je 0x441d6f
and eax, 0xfffbffff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xdc]
mov al, byte [eax + 0x45]
test al, al
jne 0x441d9d
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x62
or esi, 0x100000
jmp 0x441dc0
movsx eax, al
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x63
or esi, 0x200000
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._eta_day_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x64
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x65
jbe 0x441e02
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test eax, 0x200000
je 0x441e49
and eax, 0xffdfffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test eax, 0x100000
je 0x441e70
and eax, 0xffefffff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xdc]
mov al, byte [eax + 0x46]
cmp al, 0x18
jne 0x441e9e
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x66
or esi, 0x400000
jmp 0x441ec1
movsx eax, al
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x67
or esi, 0x800000
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._eta_hour_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x68
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x69
jbe 0x441f03
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test eax, 0x800000
je 0x441f4a
and eax, 0xff7fffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test eax, 0x400000
je 0x441f71
and eax, 0xffbfffff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xdc]
mov al, byte [eax + 0x47]
cmp al, 0x3c
jne 0x441f9f
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x6a
or esi, 0x1000000
jmp 0x441fc2
movsx eax, al
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x6b
or esi, 0x2000000
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._eta_minute_:
push eax
mov dword [ebp - 0xd4], esi
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x6c
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x6d
jbe 0x442004
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
mov eax, dword [ebp - 0xd4]
test eax, 0x2000000
je 0x44204b
and eax, 0xfdffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 4], 0xc
test eax, 0x1000000
je 0x442072
and eax, 0xfeffffff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
call fcn.00419790
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x3c]
test eax, eax
jne 0x4420a0
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00416790
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x6e
or esi, 0x4000000
jmp 0x4420c0
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042acb0
add esp, 8
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 4], 0x6f
or esi, 0x8000000
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd8], esi
push str._imo_:
push eax
call fcn.00415ab0
push 0x49dd00
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x70
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x71
jbe 0x4420fc
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0x40]
call fcn.00419790
test esi, 0x8000000
je 0x44212d
lea ecx, [ebp - 0x28]
and esi, 0xf7ffffff
call fcn.00419790
mov dword [ebp - 4], 0xc
test esi, 0x4000000
je 0x44214a
lea ecx, [ebp - 0x70]
and esi, 0xfbffffff
call fcn.00419790
push 0xb
push str._callsign_:
mov ecx, edi
call fcn.004211a0
mov edx, dword [ebp - 0xdc]
xorps xmm0, xmm0
add edx, 0xa2
mov dword [ebp - 0x30], 0
mov ecx, edx
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x40], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0xe4], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442184
sub ecx, dword [ebp - 0xe4]
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.00415bc0
mov eax, dword [ebp - 0x8c]
cmp eax, 0xf
jbe 0x4421bc
push eax
push dword [ebp - 0xa0]
lea eax, [ebp - 0xa0]
push eax
call fcn.00421000
add esp, 0xc
movups xmm0, xmmword [ebp - 0x40]
push 1
lea eax, [ebp - 0xa0]
movups xmmword [ebp - 0xa0], xmm0
push edi
movq xmm0, qword [ebp - 0x30]
push eax
movq qword [ebp - 0x90], xmm0
call fcn.0047f500
add esp, 0xc
mov ecx, edi
push 0xc
push str.__shipname_:
call fcn.004211a0
mov eax, dword [ebp - 0xdc]
xorps xmm0, xmm0
test byte [eax + 0xd8], 0x10
je 0x442238
movups xmmword [ebp - 0x70], xmm0
lea edx, [ebp - 0x70]
mov dword [ebp - 0x60], 4
mov dword [ebp - 0x5c], 0xf
mov dword [ebp - 0x70], 0x5d565b20
mov byte [ebp - 0x6c], 0
mov dword [ebp - 0xd4], edx
mov byte [ebp - 4], 0x72
or esi, 0x10000000
jmp 0x442264
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 4], 0x73
or esi, 0x20000000
lea edx, [eax + 0x78]
mov dword [ebp - 0xd8], esi
mov ecx, edx
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
lea eax, [ecx + 1]
mov dword [ebp - 0xe4], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442290
sub ecx, dword [ebp - 0xe4]
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00415bc0
push dword [ebp - 0xd4]
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x74
push eax
push dword [ebp - 0xe4]
lea ecx, [ebp - 0x40]
call fcn.00416930
mov eax, dword [ebp - 0x8c]
cmp eax, 0xf
jbe 0x4422e7
push eax
push dword [ebp - 0xa0]
lea eax, [ebp - 0xa0]
push eax
call fcn.00421000
add esp, 0xc
movups xmm0, xmmword [ebp - 0x40]
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x40], 0
movups xmmword [ebp - 0xa0], xmm0
movq xmm0, qword [ebp - 0x30]
movq qword [ebp - 0x90], xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
call fcn.00419790
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x442331
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.00421000
add esp, 0xc
test esi, 0x20000000
je 0x442347
lea ecx, [ebp - 0x58]
and esi, 0xdfffffff
call fcn.00419790
mov dword [ebp - 4], 0xc
test esi, 0x10000000
je 0x44235e
lea ecx, [ebp - 0x70]
call fcn.00419790
push 1
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.0047f500
add esp, 0xc
mov ecx, edi
push 0xf
push str.__destination_:
call fcn.004211a0
mov esi, dword [ebp - 0xdc]
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
lea edx, [esi + 0x8d]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xe4], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4423b0
sub ecx, dword [ebp - 0xe4]
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.00415bc0
mov eax, dword [ebp - 0x8c]
cmp eax, 0xf
jbe 0x4423e8
push eax
push dword [ebp - 0xa0]
lea eax, [ebp - 0xa0]
push eax
call fcn.00421000
add esp, 0xc
movups xmm0, xmmword [ebp - 0x58]
push 1
lea eax, [ebp - 0xa0]
movups xmmword [ebp - 0xa0], xmm0
push edi
movq xmm0, qword [ebp - 0x48]
push eax
movq qword [ebp - 0x90], xmm0
call fcn.0047f500
mov eax, dword [esi + 0x6c]
add esp, 0xc
mov ecx, dword [esi + 0x68]
test eax, eax
jg 0x44243e
jl 0x442422
test ecx, ecx
jae 0x44243e
neg ecx
adc eax, 0
neg eax
push eax
push ecx
lea eax, [ebp - 0x5b]
push eax
call fcn.004360b0
add esp, 0xc
mov byte [eax - 1], 0x2d
dec eax
jmp 0x44244c
push eax
push ecx
lea eax, [ebp - 0x5b]
push eax
call fcn.004360b0
add esp, 0xc
lea ecx, [ebp - 0xdd]
push ecx
lea ecx, [ebp - 0x5b]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.004155c0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x75
push eax
lea eax, [ebp - 0x40]
push str.__last_signal_:
push eax
call fcn.00415a40
add esp, 0xc
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x76
jbe 0x442487
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x40]
call fcn.00419790
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.00419790
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xd0]
push str.__geometry_:_type_:_Point___coordinates_:
push eax
call fcn.00415ab0
push 0x4a1c3c
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x77
push eax
call fcn.004159d0
add esp, 0x18
cmp dword [eax + 0x14], 0xf
mov ecx, eax
mov byte [ebp - 4], 0x78
jbe 0x4424e2
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004211a0
lea ecx, [ebp - 0x58]
call fcn.00419790
lea ecx, [ebp - 0xd0]
call fcn.00419790
mov eax, dword [ebp - 0x8c]
cmp eax, 0xf
jbe 0x442521
push eax
push dword [ebp - 0xa0]
lea eax, [ebp - 0xa0]
push eax
call fcn.00421000
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp eax, 0xf
jbe 0x44255a
push eax
push dword [ebp - 0x88]
lea eax, [ebp - 0x88]
push eax
call fcn.00421000
add esp, 0xc
mov eax, dword [ebp - 0xa4]
cmp eax, 0xf
jbe 0x44257b
push eax
push dword [ebp - 0xb8]
lea eax, [ebp - 0xb8]
push eax
call fcn.00421000
add esp, 0xc
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00489ca8
mov esp, ebp
pop ebp
ret 4